MVC5 A claim of type 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier' or 'http://schemas.microsoft.com/accesscontrolservice/2

前台页面使用@Html.AntiForgeryToken()和Controller中的[ValidateAntiForgeryToken]配合使用可以防止CSRF攻击,详细介绍可查看一下链接:

http://www.cnblogs.com/hyddd/archive/2009/04/09/1432744.html

出现当前错误,是因为在登陆完成为当前用户创建ClaimsIdentity对象时没有指定ClaimTypes,导致验证时不知道该用什么类型进行验证,或者验证类型不正确。

解决办法:

打开Global.asax文件,在 Application_Start()方法中添加

AntiForgeryConfig.UniqueClaimTypeIdentifier =ClaimTypes.Name;

如果不知道到底该配置为什么类型,防止配置错误,可以用如下方式查看类型:

1.先将前台页面的@Html.AntiForgeryToken()删除掉,在Controller中添加如下代码

string strCurrentType = AntiForgeryConfig.UniqueClaimTypeIdentifier;

2.在上面那句代码上打断点,然后调试项目,就能知道在Application_Start()方法中究竟该配置哪个类型了。

MVC5 A claim of type 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier' or 'http://schemas.microsoft.com/accesscontrolservice/2

时间: 2024-10-01 08:07:29

MVC5 A claim of type 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier' or 'http://schemas.microsoft.com/accesscontrolservice/2的相关文章

[Java - 调用WebService]{http://schemas.microsoft.com/ws/2005/05/addressing/none}ActionNotSupported

- Unable to find required classes (javax.activation.DataHandler and javax.mail.internet.MimeMultipart). Attachment support is disabled.AxisFault faultCode: {http://schemas.microsoft.com/ws/2005/05/addressing/none}ActionNotSupported faultSubcode: faul

Caused by: java.lang.RuntimeException: Could not find conduit initiator for address: xxxxxx and transport: http://schemas.xmlsoap.org/soap/http

调用的时候会报这个错 javax.xml.ws.soap.SOAPFaultException: Could not find conduit initiator for address: http://localhost:8080/ws/hello and transport: http://schemas.xmlsoap.org/soap/http at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:15

Could not find conduit initiator for address:xxxxxxxxx and transport: http://schemas.xmlsoap.org/soap/http

<properties> <cxf.version>3.1.12</cxf.version> </properties> <dependencies> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-rt-frontend-jaxws</artifactId> <version>${cxf.vers

Claims-Based Authentication and Authorization

Introduction You can download the Visual Studio solutions for this article at this location. With all the Nuget binaries, it's about 57 MB (too big to be hosted here at CodeProject.com). The out-of-the-box authentication and authorization mechanisms

Net Core 使用外部登陆提供程序登陆的流程,以及身份认证的流程

原文出自Rui Figueiredo的博文<External Login Providers in ASP.NET Core> (本文很长) 摘要:本文主要介绍了使用外部登陆提供程序登陆的流程,以及身份认证的流程. 为了能够使用google.facebook.twitter.微博等外部登陆提供程序,从而避免创建本地账户以及电子邮件验证等繁琐步骤,我们一般会引用到外部登陆服务,将验证用户身份的任务委托给他们.外部验证最为流行的协议就是OAuth2和OpenId Connect. 在Asp.Net

关于ASP.Net Core Web及API身份认证的解决方案

6月15日,在端午节前的最后一个工作日,想起有段日子没有写过文章了,倒有些荒疏了.今借夏日蒸蒸之气,偷得浮生半日悠闲.闲话就说到这里吧,提前祝大家端午愉快(屈原听了该不高兴了:))!.NetCore自发布以来,颇受关注,现在.Net Core2.0已经正式发布,边迫不及待的将.Net跨平台移植的工作进行到底.想来,也费不了多少事儿.我经常和同事们说,要敢于尝试新鲜事物,不阴损守旧,方能使自己不断进步,站在队伍的前列.下面就关于Asp.Net Core在Web 及API项目上身份认证的问题做下简单

IdentityServer4服务器配置

Session认证和JWT(Json Web Token) Token认证就是基于JWT 1.Session认证 1. 用户输入其登录信息 2. 服务器验证信息是否正确,并创建一个session,然后将其存储在数据库中 3. 服务器为用户生成一个sessionId,将具有sesssionId的Cookie将放置在用户浏览器中 4. 在后续请求中,会根据数据库验证sessionID,如果有效,则接受请求 5. 一旦用户注销应用程序,会话将在客户端和服务器端都被销毁 2.JWT认证 1. 用户输入其

ADFS 2.0 配置简介 PartⅢ – 声明规则语言

上一篇我们最终把 ADFS 与应用之间的信任关系建立起来了,但是应用接收到的声明信息只有默认的两个,这次我们就来学学怎么配置声明. 一.声明存储配置 ADFS 目前默认支持三种方式的声明值存储,另外还有自定义存储,不过我没去研究 二.编辑预定义声明 三.编写自己的定制声明 如果你需要编写自定义的声明规则,那么你需要掌握一种描述声明的语法,很简单的,首先让我们看看上边配置的电子邮件声明生成的语句 c:[Type == "http://schemas.microsoft.com/ws/2008/06

ASP.NET Core Web Api之JWT(一)

前言 最近沉寂了一段,主要是上半年相当于休息和调整了一段时间,接下来我将开始陆续学习一些新的技术,比如Docker.Jenkins等,都会以生活实例从零开始讲解起,到时一并和大家分享和交流.接下来几节课的内容将会讲解JWT,关于JWT的原理解析等等园子里大有文章,就不再叙述,这里我们讲解使用和一些注意的地方. 为什么要使用JWT 在.NET Core之前对于Web应用程序跟踪用户登录状态最普通的方式则是使用Cookie,当用户点击登录后将对其信息进行加密并响应写入到用户浏览器的Cookie里,当