Azure Active Directory B2C用户管理

时间:2016-01-13 01:56:34

标签: azure azure-active-directory azure-ad-b2c

我正在关注this文章,并创建了一个效果非常好的样本。我可以使用它来注册,注销和编辑我的个人资料,但无法找到如何在AAD B2C中添加用户并为其分配一些角色,以便我可以根据角色区分它们,即当我到达时声明页面和获取用户对象,我可以通过写这样的东西来检查用户:

User.IsInRole("client")  

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

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

但我想按照上面的解释

提前致谢。

现在好了,我通过点击目录名称 - 用户找到了角色,但可用的角色是用户,全局管理员,计费管理员,服务管理员,用户管理员和密码管理员,但User.IsInRole(“用户”)不适合我。所以,  1.我可以添加任何自定义角色吗?  2.如何以编程方式检查我的用户是否属于某个特定角色? 感谢。

2 个答案:

答案 0 :(得分:2)

您可以通过修改应用程序清单文件(在Azure Active Directory中配置的应用程序)来添加自定义角色。您只需下载清单json文件,添加自定义角色并再次上传文件。你可以在这里做到: enter image description here

然后打开文件并添加以下自定义角色:

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

],

答案 1 :(得分:0)

Azure B2C中的用户属性以" Extension _"为前缀,因此用户属性"角色"将被称为" extension_role"在你的索赔中。 这就是UserIsInRole无法正常工作的原因

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