asp.net-mvc – 在Azure Active Directory B2C中按组授权
|
我试图找出如何授权在Azure Active Direcotyr B2C中使用组.我可以通过用户授权为例: [Authorize(Users="Bill")] 但是这并不是非常有效,我看到很少的用例.另一个解决方案是通过角色授权.然而,由于某种原因似乎并不吵闹.例如,如果我给用户“全球管理”角色,并尝试: [Authorize(Roles="Global Admin")] 这是行不通的.有没有办法通过组或角色进行授权? 解决方法这将工作,但是您已经在身份验证逻辑中编写了几行代码,以便实现您的查找.首先,您必须区分Azure AD(B2C)中的角色和组. 用户角色非常具体,仅在Azure AD(B2C)本身内有效.角色定义了用户拥有的Azure AD中的哪些权限. 组(或安全组)定义用户组成员资格,可以暴露给外部应用程序.外部应用程序可以在安全组之上建立基于角色的访问控制.是的,我知道这可能听起来有点混乱,但这是什么. 因此,您的第一步是在Azure AD B2C中建模您的组 – 您必须创建组并手动将用户分配给这些组.您可以在Azure Portal(https://portal.azure.com/)中执行此操作: 然后,回到您的应用程序,一旦用户成功通过身份验证,您将不得不进行一些编码并请求Azure AD B2C Graph API获取用户成员资格.您可以使用this sample获得如何获取用户组成员资格的灵感.最好在其中一个OpenID通知(即SecurityTokenValidated)中执行此代码,并将用户角色添加到ClaimsPrincipal. 将ClaimsPrincipal更改为具有Azure AD安全组和“角色声明”值后,您将能够使用具有“角色”功能的Authrize属性.这是真的5-6行代码. 最后,您可以为此功能投票:https://feedback.azure.com/forums/169401-azure-active-directory/suggestions/10123836-get-user-membership-groups-in-the-claims-with-ad-b以获取组成员声明,而无需查询Graph API. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-3 – MVC按钮点击动作
- asp.net-mvc-3 – 为什么两个类,视图模型和域模型?
- .NET的标记SO如何在飞行中呈现?
- asp.net-mvc – 以Razor语法为Telerik MVC Grid定义一个Tem
- asp.net – 在IE10中不应该“X-UA兼容IE =边缘”头覆盖“兼
- asp.net – 防止XSS(跨站脚本)
- asp.net-mvc-3 – 在同一父视图上多次使用一个部分视图
- asp.net-mvc-3 – C#.NET MVC3 ModelState.IsValid
- asp.net-mvc – ASP MVC 3 RequireHttps属性将所有链接更改
- 在ASP.NET中构建动态“高级搜索”控件的建议
- asp.net-mvc – ASP.NET MVC:处理取消按钮的正确
- asp.net – 经典ASP出站TLS 1.2
- kendo-asp.net-mvc – 在Kendo Scheduler自定义模
- asp.net中强类型的会话
- ASP.NET MVC jquery自动填充值和文本字段
- asp.net-mvc-4 – 如何在MVC4中使用SimpleMember
- asp.net – 在.css文件中引用应用程序相对虚拟路
- asp.net – Visual Studio 2012不发布项目
- 将linkbutton设置为asp.net中asp:panel的默认按
- asp.net-mvc – 如何将模型传递给部分视图
