【问题标题】:MVC2 Authorize Roles from SQLMVC2 从 SQL 授权角色
【发布时间】:2011-05-26 05:46:14
【问题描述】:

我的 SQL2008 数据库中有一个表用于用户,一个用于角色,然后是 UserRoles 桥接表。我正处于必须使用 RoleProvider 工作的地步,并使用 [Authorize(Roles = "Administrator,Developer")] 装饰了我的一些操作

我实际上为每个用户在我的网站上构建导航,因此 RoleProvider 只是为了防止较低级别的用户从他的管理员伙伴那里获取 URL 并转到他不应该访问的页面。

我们在每个用户基础上构建网站导航,并在用户、他的角色和他所在角色允许查看的页面之间建立映射。我只想知道是否有任何方法可以更改 [Authorize(Roles = "")] 以从我的数据库中动态获取具有该操作权限的角色列表?这样我就不必去装饰我拥有的所有动作,它会像魔法一样从数据库中拉出来。

一个简单的例子将不胜感激,谢谢。 杰克

【问题讨论】:

    标签: sql-server asp.net-mvc-2 roles dynamic authorize


    【解决方案1】:

    我基本上编写了自己的继承自 AuthorizeAttribute 的 CustomAuthorize 类,并且在 OnAuthorization 中我进行了访问查找。如果用户没有访问权限,我基本上会这样做: filterContext.Result = new HttpUnauthorizedResult(); filterContext.Result = new RedirectResult("/accessDenied");

    有效,我用以下方式装饰我的方法:[CustomAuthorize]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-16
      • 2014-05-08
      • 1970-01-01
      • 1970-01-01
      • 2010-10-21
      • 2019-05-16
      • 1970-01-01
      • 2011-04-24
      相关资源
      最近更新 更多