asp.net – MVC动态页权限使用授权属性?
发布时间:2020-12-15 18:59:43 所属栏目:asp.Net 来源:网络整理
导读:我正在为我公司的网站设置用户权限,我们有几个不同的角色和权限,必须创建.我已经发现了一些关于创建实际角色和组的真棒信息,以及如何从 here实现它们.但是,这仍然需要将角色硬编码到授权标签中,有没有办法动态填充授权标签,以便我可以在网站上有一个页面,我
我正在为我公司的网站设置用户权限,我们有几个不同的角色和权限,必须创建.我已经发现了一些关于创建实际角色和组的真棒信息,以及如何从
here实现它们.但是,这仍然需要将角色硬编码到授权标签中,有没有办法动态填充授权标签,以便我可以在网站上有一个页面,我可以快速分配不同的权限到不同的页面,而不必只是回到代码,并修改权限集为我创建的每一个页面?
解决方法
实现以下自定义授权属性.
public class CustomAuthorizeAttribute : AuthorizeAttribute { public CustomAuthorizeAttribute (params string[] roleKeys) { var roles = new List<string>(); var allRoles = (NameValueCollection)ConfigurationManager.GetSection("CustomRoles"); foreach(var roleKey in roleKeys) { roles.AddRange(allRoles[roleKey].Split(new []{','})); } Roles = string.Join(",",roles); } public override void OnAuthorization(AuthorizationContext filterContext) { base.OnAuthorization(filterContext); if (filterContext.Result is HttpUnauthorizedResult) { filterContext.Result = new RedirectResult("~/Error/AcessDenied"); } } } 然后将以下内容添加到web.config中 <section name="CustomRoles" type="System.Configuration.NameValueFileSectionHandler,System,Version=1.0.3300.0,Culture=neutral,PublicKeyToken=b77a5c561934e089" /> 然后,作为一个例子 <CustomRoles> <add key="UsersPagePermission" value="HR,Accounts,Developers" /> </CustomRoles> 您的控制器或操作或全局过滤器(以您想要的为准))添加属性 例如 [CustomAuthorize("UsersPagePermission")] public class UserController : Controller 这将允许您修改web.config而不是代码来更改权限. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 为mp3下载添加水印
- asp.net – .NET JIT编译器会优化方法调用吗?
- asp.net-mvc – 如何使用MVC 3将文本数据导出到csv?
- asp.net – 如何崩溃App Pool?
- asp.net – 部分查看并将数据传递给布局MVC3
- asp.net-mvc-5 – “确认密码”和“密码”不匹配. MVC5
- asp.net-mvc – 上传文件:MemoryStream与文件系统
- asp.net-mvc – Web Api安全客户端和用户
- asp.net-mvc – 如何使用MVC3 Razor布局页面?
- asp.net-mvc – 如何在asp.net C#中从http重定向到https并将
推荐文章
站长推荐
- asp.net-mvc – ASP.Net MVC:发送JSON到控制器
- asp.net-mvc – 从ASP.NET MVC中采用“aspnet_ …
- 禁用asp.net中的自动注销功能
- entity-framework – 使用F#和ASP.NET MVC保存EF
- ASP.Net Cache是??否在不同的用户会话之间共享?
- ASP.NET Web API可以在与MVC相同的URL上工作吗?
- asp.net-mvc-3 – 如何将数据自动完成HTML属性添
- 如何用C#和ADO.NET建立一个数据绑定网格(转载)
- 如何在没有布局页面的情况下将部分脚本添加到asp
- 为什么知道Asp.net的生命周期对Asp.net中的编码很
热点阅读