我正在开发一个使用Azure AD auth开箱即用的ASP.NET MVC应用程序。
我想要做的是为某些用户定义自定义角色。例如,将JohnDoe@contoso
标记为"Portal Admin"
或将SarahJones@contoso
标记为"Site Manager"
- 我想这样做而不会干扰AD角色,因为我没有完整访问AD内部。
我可以很好地部署自定义数据库来包含角色。是否有针对此的通用解决方案,还是我必须实现自定义验证层?
更新1:我可以部署custom role provider并将其连接到其他数据库,但我想知道是否有更简单的方法来执行此操作。
答案 0 :(得分:2)
如果您使用支持ASP.NET MVC的Azure Web Apps,则可以使用Azure Active Directory身份验证机制。这是一篇描述如何设置它的博客文章: https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-how-to-configure-active-directory-authentication/
完成后,将为您的应用启用auth,您可以在门户中配置AAD应用。有关详细信息,请参阅此博客文章: http://blogs.technet.com/b/ad/archive/2014/12/18/azure-active-directory-now-with-group-claims-and-application-roles.aspx
要修改权限级别,您应该能够使用角色声明。请参阅此示例以获取指导: https://github.com/Azure-Samples/active-directory-dotnet-webapp-roleclaims
访问清单: