 分类:
    .NET MVC权限
    
    分类:
    .NET MVC权限
《再别康桥》
"轻轻地我走了,正如我轻轻地来,我挥一挥衣袖,不带走一片云彩” ——徐志摩
我们想要做一个大致规模的权限管理,第一步肯定要做登录的访问权限限制:
1,我们建立类库,然后新建数据库模型链接数据库

2,再类库里封装用户登录及各个用户权限的方法

3,就是利用过滤器限制登录权限了,如下图:

注意:设置了全局的权限的话所有的页面都进不去,因此我们要在登录的控制器里设置

最后在FilterConfig里配置使用就好了

这样我们的登录权限就做好了,访问其他页面必须经过登录才能访问哟
第二版块就有点难了,大致思路是通过在数据库建立用户表,权限表,用户权限关联表,实现不同用户得到不同的访问页面和操作功能的权限.
1,数据库的设计如下:

2,在登录的控制器里编写验证方法
        public ActionResult LoginIndex(Users user)
        {
            //判断通过执行
            if (ModelState.IsValid)
            {
                UsersDAL userDAL = new UsersDAL();
                Users users = userDAL.Login(user);
                if (users != null)
                {
                    List<Powers> powersList = userDAL.GetPremissonById(users.Id);
                    //保存登陆信息
                    Session["userinfo"] = users;
                    //保存登陆的用户名
                    TempData["userName"] = user.userName;
                    //保存登陆的用户,分配权限
                    Session["powersList"] = powersList;
                    return RedirectToAction("Index", "Home");
                }
                else
                {
                    TempData["errorinfo"] = "用户名或密码错误";
                    return RedirectToAction("Index", "Login");
                }
            }
            return RedirectToAction("Index");
        }
    }
注意:这里可能会报错,如下:

原因是:我们的数据模型是在类库里新建的,所以EF的Web.config需要配置文件,
我们只需要在数据模型的App.Config复制到EF的Web.config配置即可,这里就不细说拉。

3,登录成功后,我们要在前台首页显示当前用户的权限表及该表下面的子系表:
在首页菜单栏,我们可以这样:

如果以上步骤都实行了的话,那么初步的用户管理权限就完成了。
下期分享不同用户的修改树形权限,敬请期待...
 50010702506256
50010702506256
         
         
         
         
        