微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net-mvc – 如何通过MVC Azure AD身份验证从AD获取角色?

我设置了MVC 4应用程序,并在我们的Azure AD服务器上添加了身份验证,如下所述: http://msdn.microsoft.com/en-us/library/windowsazure/dn151790.aspx

身份验证按预期工作.但是,我没有认任何角色.应该创建几个AD组,我想使用它们通过MVC中的[Authorize]属性来限制应用程序.

我真的找不到一个好的地方,甚至开始搞清楚这一点.任何人都可以给我一个大纲或指向我一个很好的教程吗?

我应该提一下,我不是Azure帐户的管理员,因此如果需要进行任何设置,我需要告诉管理员该怎么做.

解决方法

首先,Azure AD返回的令牌当前不包含角色或组的声明,因此您需要从Graph API获取它们.其次,Graph API返回的Azure AD中的角色不一定用于ISV / LoB应用程序,通常您应该使用安全组进行授权.要执行授权,您应该使用Graph API中的checkMemberGroups或getMemberGroups操作,这些操作是可传递的并且对此有效.

如果您按顺序查看以下资源,我认为您的问题将得到解答.您将学习如何对Graph进行身份验证,调用它,以及如何配置应用程序以使用组操作的结果来执行授权:

> Using the Graph API to Query Windows Azure AD – 这是您完成Web SSO之后的第二个演练.
> Authorization with Windows Azure Active Directory
> MVC Sample App for Azure AD Graph
> Blog post describing checkMemberGroups and getMemberGroups
> How do I get role and group membership claims for users signing in via Windows Azure AD? – 关于身份验证方法和管理用户/组的UI,这个过时了,但它仍然有用.请特别注意自定义ClaimsAuthenticationManager部分,它可以让您了解如何尽早将角色/组数据注入ClaimsPrincipal对象,以便可以在[Authorize]属性或其他授权逻辑中使用它.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐