ASP.NET权限管理(二)

在上一个(一)中,说了权限管理的设置,但是不知道你发现没有,就是你设置好管理的权限,但是登陆后你的模块仍然是全部都显示,这个时候你需要一个动态的显示来进行登录。
具体步骤如下:
(1)在登录后的显示界面写下动态显示:

 <div id="naMenu" class="easyui-accordion" data- options="fit:true">
                @Html.Action("Menu")
 </div>    

(2)一级菜单

因为调用Menu动态,所以在Home的视图系下书写了一个类“Menu”,内容如下:

这里写图片描述

循环查询模块名称和标志,按照ID进行排序,下边是调用的后台代码:

public ActionResult GetChild(int pid)
 {
   var list = Bll.Search(x => x.M_ParentID == pid);//查询父类信息
   return View(list);
}

(3)二级菜单

来查询父类菜单(一级菜单),这个时候显示出来还是会乱。然后有了下边的代码,循环显示二级菜单,新建了一个类:
这里写图片描述

他来查询判断一级菜单,显示出来二级菜单。

(4)在显示的Home控制器中,获取当前登录用户,并根据当前用户显示。

 public ActionResult Menu()
 {
  IEnumerable<Module> moduleList = bll.GetMenu((int)this.CurrentUer.R_ID);//一个int型的判断,获取当前登录用户的身份
  return View(moduleList);
}

而在他引用的BaseController中,有:

protected User CurrentUer
{
  get { return Session["LoginUser"] == null ? null : (User)Session["LoginUser"]; }
}

来获取登录页面传递来的角色。




应该是可以了,是全部的代码,如果有什么问题欢迎留言,一会我看一下,如果可以,我会把代码放到我的资源中。代码有一些乱,整理一下就可以了。我的运行是没有问题的

posted on 2017-08-14 16:57  Grant-fu  阅读(146)  评论(0编辑  收藏  举报

导航