当前位置:  开发笔记 > 后端 > 正文

ASP MVC中的视图中的权限

如何解决《ASPMVC中的视图中的权限》经验,为你挑选了1个好方法。

我了解您可以使用表单身份验证根据您选择的条件授予/拒绝对某些页面的访问权限.

但是我希望比这更具体一点,并且说,根据用户的权限为用户显示不同的按钮.

我知道我可以做点什么

if(((User)ViewData["CurrentUser"]).IsEmployee).....

但这似乎并不优雅,很快就会变得混乱.

是否有任何指南/工具/框架功能可以帮助我在这里?



1> Craig Stuntz..:

使用基于角色的身份验证,然后适当地设置角色.然后你可以做以下事情:

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) %>

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有