asp.net-mvc – 将角色动态映射到ASP.Net MVC中的控制器
发布时间:2020-12-16 07:15:35 所属栏目:asp.Net 来源:网络整理
导读:我目前在我的MVC应用程序中对过滤器中的授权角色进行硬编码,如下所示: [Authorize(Roles = "Administrator,Manager")] 我想最终有办法将角色映射到每个控制器,以便站点管理员可以处理分配哪些角色可以执行每组操作. string roles = DoSomethingToGetAllowab
我目前在我的MVC应用程序中对过滤器中的授权角色进行硬编码,如下所示:
[Authorize(Roles = "Administrator,Manager")] 我想最终有办法将角色映射到每个控制器,以便站点管理员可以处理分配哪些角色可以执行每组操作. string roles = DoSomethingToGetAllowableRoles(controllerName); [Authorize(Roles = roles)] 我想我需要有一个数据库表,以某种方式保存每个控制器的列表,然后另一个表将控制器映射到角色.我想要的是一个页面,我可以列出每个控制器,然后有一组复选框,列出适用于该控制器的每个角色. 任何人都有一个例子,或者可以引导我朝着完成这个目标的方向前进? 解决方法
您将需要编写自己的授权过滤器(可能通过扩展内置的过滤器).
原因是您无法像这样动态分配属性参数. 您不需要与MVC源代码的混乱 – 你只需要建立一个从System.Web.Mvc.AuthrorizeAttribute继承的类,覆盖AuthorizeCore,然后代替默认的使用属性: public class CustomAuthorizeAttribute : System.Web.Mvc.AuthorizeAttribute { protected override bool AuthorizeCore(HttpContextBase httpContext) { // Put your custom logic here,returning true for success and false for failure,// or return base.AuthorizeCore(httpContext) to defer to the base implementation } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 使用signalr时,将有任何连接限制在IIS
- asp.net – 以编程方式刷新/更新HttpContext.User
- 使用asp.net FtpWebRequest 实现FTP常用功能
- 关于Type Initializer和 BeforeFieldInit的问题,看看大家能
- asp.net-mvc-3 – 陷入ASPNETCOMPILER:错误ASPRUNTIME:成
- asp.net-mvc – asp.net mvc 3 – ajax表单提交和验证
- asp.net-mvc – 登录MVC3中的Razor视图
- asp.net-web-api – 用于自托管模式的WebApi按请求存储
- asp.net-mvc – 如何动态地将值从提交按钮传递给mvc?
- asp.net-mvc – MVC的编码标准 – 它们是官方的吗?
推荐文章
站长推荐
- 如何使用WebAPI没有ASP.NET MVC?
- asp.net-mvc-3 – MVC3:超出最大请求长度
- [WCF REST] 通过ASP.NET Output Caching实现声明
- asp.net – gridview显示文本而不是值
- 向ASP.NET Core迁移
- ASP.NET Response.Redirect使用302而不是301
- asp.net – 如何尊重“从无Cookie域中提供静态内
- asp.net – MVC4在配置文件中查看缓存持续时间?
- asp.net-mvc – DotNetOpenAuth在ASP.NET MVC中的
- asp.net-mvc – SQL Azure得到一个错误’已经有一
热点阅读