当前位置: 首页 > 知识库问答 >
问题:

切换到标识时的Azure声明标识

易昌翰
2023-03-14

我最近换了我的ASP。NET应用程序到ASP。NET标识远离Azure的Active Directory配置。我在本地测试时没有问题,但是当我发布到Azure时,我得到以下错误:

http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier或http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider类型的索赔在提供的索赔身份中不存在。若要通过基于声明的身份验证启用反伪造令牌支持,请验证配置的声明提供程序是否在其生成的ClaimsId相实例上提供了这两种声明。如果配置的声明提供程序使用不同的声明类型作为唯一标识符,则可以通过设置静态属性AntiForgeryConfig来配置它。UniqueClaimType标识符。

就配置而言,我是否应该在Azure端更改某些内容?还是我的代码里还有其他需要的东西?

共有1个答案

夏侯兴怀
2023-03-14

如果你没有使用ACS作为你的STS,那么上面的错误几乎告诉你需要什么来解决这个问题。

您需要告诉MVC要使用哪个声明来唯一标识用户。您可以通过设置AntiForgeryConfig来实现这一点。UniqueClaimTypeIdentifier属性(通常在App_Start in global.asax中)。例如(假设您希望使用nameidentifier作为唯一声明):

AntiForgeryConfig.UniqueClaimType标识符=声明类型。名称标识符;

protected void Application_Start()
{
    AreaRegistration.RegisterAllAreas();

    FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
    RouteConfig.RegisterRoutes(RouteTable.Routes);
    BundleConfig.RegisterBundles(BundleTable.Bundles);

    AntiForgeryConfig.UniqueClaimTypeIdentifier = ClaimTypes.NameIdentifier;
}
 类似资料:
  • 我相信在我的应用程序中看到了一些标识声明的缓存,该应用程序使用WSO2IS5.3.0。当通过UserStoreManager.SetUserClaimValues(例如,http://wso2.org/claims/identity/AccountDisabled)更改标识声明时,该更改需要一些时间才能反映在随后对UserStoreManager.GetUserClaimValues的调用中 我搜

  • 我使用Identityserver3作为MVC应用程序的授权服务器。因此,我的类如下: 这是我的子类: 这是我的: 但是在我的

  • 我正在调试一个非常大的树着色项目,在该项目中,作者使用glsl文件来着色树,但我在编译glsl文件时遇到了麻烦: 以下是错误日志: 我使用mac osx,Xcode7.0,OpenGL和glut都是默认版本。Glew版本是1.13.0。 这是因为版本与作者使用的原始版本不匹配吗?因为我检查了原始版本,所以他使用了GLEW 1.9.0和GLUT 3.7.6。 //////更新/////// 原来ma

  • 我还在尝试将我的应用程序从WSO2IS-5.2.0迁移到WSOIS-5.3.0。我的应用程序是一个管理用户的rest api,我称之为wso2is soap WebServices。 在5.3.0中,我似乎不能用webservice修改identity/AccountLocked或identity/FailedLoginAttempts等标识声明 tid:1[2017-01-19 10:42:26

  • 我正在使用SODA for Java存储和检索Oracle12c DB中的文档。我正在效仿这个例子。 这一例外背后的原因将是什么?