《再别康桥》
"轻轻地我走了,正如我轻轻地来,我挥一挥衣袖,不带走一片云彩” ——徐志摩
我们想要做一个大致规模的权限管理,第一步肯定要做登录的访问权限限制:
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,登录成功后,我们要在前台首页显示当前用户的权限表及该表下面的子系表:
在首页菜单栏,我们可以这样:
如果以上步骤都实行了的话,那么初步的用户管理权限就完成了。
下期分享不同用户的修改树形权限,敬请期待...