asp.net-mvc – ASP MVC中的视图中的权限
发布时间:2020-12-16 06:41:06 所属栏目:asp.Net 来源:网络整理
导读:我了解您可以使用表单身份验证根据您选择的条件授予/拒绝对某些页面的访问权限. 但是我希望比这更具体一点,并且说,根据用户的权限为用户显示不同的按钮. 我知道我可以做点什么 if(((User)ViewData["CurrentUser"]).IsEmployee)..... 但这似乎并不优雅,很快就
我了解您可以使用表单身份验证根据您选择的条件授予/拒绝对某些页面的访问权限.
但是我希望比这更具体一点,并且说,根据用户的权限为用户显示不同的按钮. 我知道我可以做点什么 if(((User)ViewData["CurrentUser"]).IsEmployee)..... 但这似乎并不优雅,很快就会变得混乱. 是否有任何指南/工具/框架功能可以帮助我在这里? 解决方法
使用基于角色的身份验证,然后适当地设置角色.然后你可以做以下事情:
if (ViewContext.HttpContext.User.IsInRole("vEmployee") { 这样做的好处在于它是ASP.NET的核心功能 – 甚至不是特定于MVC的 – 因此它可以与每个可能的成员资格提供者一起使用. 然后,您可以为要有条件地显示的任何控件添加视图助手重载: public static string TextBox(this HtmlHelper helper,string name,string value,string role,object htmlAttributes) { if helper.ViewContext.HttpContext.User.IsInRole(role) { return helper.TextBox(name,value,htmlAttributes); } else { return null; } } ……并称之为: <%= Html.TextBox("name","value","vEmployee",null) %> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 授权问题 – 匿名用户无法访问.jpeg或.css
- asp.net-mvc – 对Json解决方法的EntityFramework? (序列化
- asp.net-mvc – 如何设置AntiForgeryToken cookie路径
- asp.net-mvc – 模型绑定不起作用
- ASP.NET MVC – Session为null
- asp.net-mvc – Fluent验证与默认的.NET数据注释相比有什么
- asp.net – web.config转换和location元素
- asp.net – 获取用户及其角色的列表
- ASP.NET SessionID类型
- asp.net – 如何单元测试使用HostingEnvironment.MapPath的