MVC Azure AD授权角色

时间:2015-01-09 15:21:55

标签: asp.net-mvc-4 azure authorization azure-web-sites azure-active-directory

我在MVC中使用[Authorize]属性时遇到问题。

以下是采取的步骤:

  1. 创建名为TestAD1
  2. 的Azure Active Directory
  3. 在AD中插入多个用户
  4. 创建名为TestGroup1
  5. 的组
  6. 使用visual studio 2013创建一个以Windows Authentication作为身份验证方法的MVC项目
  7. 在控制方法上方插入[Authorize]
  8. 发布网站
  9. 在azure门户网站中,将网站配置为使用azure活动目录作为身份验证
  10. 这些步骤工作正常,当我将authorize属性更改为:

    时,一切都像预期的那样

    [Authorize(Roles=@"TestAD1\TestGroup1")]

    我总是得到"您无权查看此目录或页面。"

    我知道以下解决方案,但它不符合我的项目需求:  *写我自己的RoleProvider  *使用web.config管理权限

1 个答案:

答案 0 :(得分:5)

Luka,我们最近为Azure AD集成应用程序启用了角色声明。在此处获取详细信息:http://www.dushyantgill.com/blog/2014/12/10/roles-based-access-control-in-cloud-applications-using-azure-ad/。这是一个ASP.NET Web应用程序,它使用Azure AD App Roles使用[Authorize]属性执行授权:https://github.com/dushyantgill/VipSwapper/tree/master/TrainingPoint

重新设置当前设置,Azure AD中的安全组名称不会作为角色声明进行传输。 Windows身份验证也不能与Azure AD连接您的云服务身份验证。

希望这会有所帮助。

如果你遇到困难,请告诉我。