我正在开发一个ASP.NET MVC 5应用程序,该应用程序依赖于使用Azure Active Directory进行多租户身份验证。我通过添加AuthorizeAttribute过滤器在全局范围内进行授权设置。现在,我希望只有属于特定目录角色的用户才能访问该应用程序(特定于全局管理员和用户管理员)。执行此操作的最佳方法是什么?
主体中的角色仅包含应用程序特定角色。我希望其中一个身份声明可以证明标准目录角色。但只有相关的声明是"群组"声明告诉我用户所属的目录角色和应用程序组。然后,我需要查询每个组对象ID,看看其中一个是否是我想要允许的目录角色。
此外,有没有办法通过将其添加为过滤器来全局执行此操作?
答案 0 :(得分:1)
Varun,在接下来的几周内,我们计划在令牌中添加一个新的声明,其中包含用户所属的目录角色的众所周知的标识符。 Stay tuned为此。
在此之前,最好的选择是在登录时查询Graph API,d etermine the directory roles the user belongs to,并在声明主体中注入类型为role的声明。这将启用授权属性过滤器。
希望有所帮助。