3

我正在关注这篇文章并创建了一个运行良好的示例。我可以用它注册、注销和编辑我的个人资料,但不知道如何在 AAD B2C 中添加用户并为其分配一些角色,以便我可以根据角色区分它们,即当我到达声明页面并获取用户对象,我可以通过编写如下内容来检查用户:

User.IsInRole("client")  

我在“用户属性”中添加了一个名为“角色”的自定义属性,但这并没有解决我的问题。我只能在写的时候看到:

foreach (Claim claim in ClaimsPrincipal.Current.Claims)
...claim.Type .... claim.Value

但我想要它,正如我上面解释的那样

提前致谢。

好的,到目前为止,我已经通过单击目录名称找到了角色——用户,但可用的角色是用户、全局管理员、计费管理员、服务管理员、用户管理员和密码管理员,但是 User.IsInRole("User" ) 对我不起作用。那么,1.我可以添加任何自定义角色 2.如何以编程方式检查我的用户是否属于特定角色?谢谢。

4

2 回答 2

2

您可以通过修改应用程序清单文件(在 Azure Active Directory 中配置的应用程序)来添加自定义角色。您只需下载清单 json 文件,添加您的自定义角色并再次上传文件。你可以在这里做: 在此处输入图像描述

然后打开文件并添加这样的自定义角色:

  "appRoles": [
{
  "allowedMemberTypes": [
    "User"
  ],
  "description": "some text",
  "displayName": "Super role",
  "id": "c530a40b-a47c-42b7-ba9a-f34d8ca7e443",
  "isEnabled": true,
  "origin": "Application",
  "value": "Super role"
}

],

于 2016-01-14T08:35:31.680 回答
0

Azure B2C 中的用户属性以“Extension_”为前缀,因此用户属性“Role”将在您的声明中称为“extension_role”。这就是 UserIsInRole 不起作用的原因

适用于 Azure AD 的东西,也可能适用于 B2C(我没有尝试过):尝试使用组(创建一个新组),将用户添加到组中。默认情况下,组成员身份不会添加到您的声明中:http: //justazure.com/azure-active-directory-part-4-group-claims/

于 2016-01-14T11:51:42.523 回答