- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近将我的 ASP.NET 应用程序从 Azure 的 Active Directory 配置切换到 ASP.NET Identity。我在本地测试时没有遇到任何问题,但当我发布到 Azure 时,出现以下错误:
A claim of type 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier' or 'http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider' was not present on the provided ClaimsIdentity. To enable anti-forgery token support with claims-based authentication, please verify that the configured claims provider is providing both of these claims on the ClaimsIdentity instances it generates. If the configured claims provider instead uses a different claim type as a unique identifier, it can be configured by setting the static property AntiForgeryConfig.UniqueClaimTypeIdentifier.
就配置而言,我应该在 Azure 端更改一些内容吗?或者我的代码中还需要其他东西吗?
最佳答案
如果您没有使用 ACS 作为 STS,那么上述错误几乎告诉您需要采取什么措施来解决该问题。
您需要告诉 MVC 您要使用哪个声明来唯一标识用户。您可以通过设置 AntiForgeryConfig.UniqueClaimTypeIdentifier 属性(通常在 global.asax 的 App_Start 中)来执行此操作。例如(假设您想使用 nameidentifier 作为唯一声明):
AntiForgeryConfig.UniqueClaimTypeIdentifier = ClaimTypes.NameIdentifier;
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
AntiForgeryConfig.UniqueClaimTypeIdentifier = ClaimTypes.NameIdentifier;
}
关于c# - 切换到身份时的 Azure ClaimsIdentity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32449401/
我最近将我的 ASP.NET 应用程序从 Azure 的 Active Directory 配置切换到 ASP.NET Identity。我在本地测试时没有遇到任何问题,但当我发布到 Azure 时,
我正在使用 Katana for OAuth 从他的 LinkedIn 个人资料中获取有关用户的数据。我想将从 LinkedIn 收到的所有数据放入用户的 ClaimsIdentity 对象中,这样我
我有一个在 ASP.Net MVC 中构建的 HR Web 应用程序,分为多个区域,例如经理、员工。这些区域代表系统中能够执行不同任务的不同类型的用户。涉及遗留数据库,每种用户类型的信息存储在不同的表
我正在开发一个新应用程序并使用 ASP.NET Identity,想知道是否有一种方法可以在 ClaimsIdentity 上强制显示特定的声明类型。到目前为止,这是我所拥有的。它可以工作,但似乎这是
到目前为止,我找到了两种从 ClaimsIdentity 获取 WindowsIdentity 对象的解决方案。首先,我提取用户主体名称 (upn)。 ClaimsIdentity ci = (Cla
我正在使用 OpenId Connect 基于 Azure Active Directory 构建用户身份验证。我可以使用我在 AAD 中的帐户成功登录到我的网站。登录后,我想通过 AAD 图形 AP
我使用透明代理,是否可以将声明身份传递给另一个 WebAPI? 我有两个 WebAPI,演示和应用程序,都使用 ADFS 进行身份验证。 到目前为止,我的代码用于处理对应用程序 WebAPI 的表示请
首先,更广泛的背景。 我正在开发一个由单独的网络 API 支持的网络应用程序。 Web 应用程序中的身份验证应基于 ActiveDirectory,并且应由 Web API 处理。 因此,Web 应用
我已经使用 azure 使用 MVC3 设置了我的声明,并且一切顺利。 我现在需要做的是扩展当前线程/http上下文中的Claims Identity并添加我自己的信息(DOB,地址..之类的东西)
在 VS 2012/.NET 4.5/ASP.NET MVC 4 应用程序中,我有一个从 ClaimsIdentity 派生的自定义身份类型。它只是向基类添加了一些只读属性,以便于从一些声明中读取值:
刚刚开始我的第一个 .net core 2 网络应用程序实现。不幸的是,由于业务需求,用户必须通过遗留表单登录进行身份验证,用户名/密码被处理到 oracle 数据库,当用户通过身份验证时,将生成一个
我想使用 JWT 保护 ASP.NET Core Web API。此外,我希望可以选择直接在 Controller 操作属性中使用 token 负载中的角色。 现在,虽然我确实找到了如何将其与策略一起
我正在查看 ASP.NET MVC 5 身份验证的新内容,并注意到现在一切都是 claim 身份 .我想知道这些值存储在哪里: Session、Cache 或 Cookie 本身。 如果它存储在 co
我有一个遗留应用程序,我正在尝试更新它以使用带 Owin 身份验证的 MVC 5。但是,我一直在尝试让 SecurityStamp 验证正常工作。我可能遗漏了拼图的一些基本部分,但我无法弄清楚它是什么
我有一个使用 IdentityServer4.TokenValidation 进行身份验证的 ASP.NET Core 2.1 应用程序 authenticationBuilder.AddIdenti
我使用 .NET 4.5 创建了一个新的 ASP.NET MVC 应用程序。我已成功设置 STS 身份验证。身份验证流程工作正常,我能够在 Thread.CurrentPrincipal 上获取包含所
我有一个在 vs2010 中开发的现有 .Net 4 解决方案,它使用用于定义当前请求的用户的 IIdentity 实现。我现在想使用 vs2012 继续它的开发。 我在 vs2012 中打开了解决方
我的前端 Web 应用程序 (MVC) 使用不记名 key (SAML) 向 WCF 后端服务验证自身。身份验证工作正常并且 ClaimsIdentity 对象设置正确。但是,ClaimsIdenti
我有一个允许使用表单登录和 Windows 身份验证登录的 MVC 站点。我使用自定义 MembershipProvider 对用户进行 Active Directory 身份验证,使用 System
使用 Azure 和引用此服务的客户端 Windows 应用程序创建了一个 WCF 服务作为 WebRole。云服务是指使用 Windows Identity Foundation 中提供的“动手实验
我是一名优秀的程序员,十分优秀!