一. 准备阶段
一.一 数据库准备阶段
(关于数据库的数据,会放置一个 rbac.sql 文件上来的,读者可以执行,故不复制 insert 插入语句了)
user 表数据 (密码被MD5 加密过了,明文为 1234)
role 表数据:
user_role 表数据
admin 是管理员, yuejl 是经理, yuezl 是普通职员
privilege 表数据:
role_privilege 表数据:
用户有哪些权限,有点晕啊, 老蝴蝶这儿查询一下。
admin 所拥有的权限:
select * from privilege a where a.id in ( select rp.pid from user_role ur left join role_privilege rp on ur.rid=rp.rid where ur.uid=1 );
岳建立所拥有的权限:
岳泽霖所拥有的权限:
另外,还有一个部门表, dept, 用来演示具体的按钮权限数据。
一.二 前端页面准备阶段
(前端页面代码较多,这儿就不复制了,只讲解一下,各个页面的作用和相应的截图)
jdbc.properties ,是数据库配置文件
driverClass=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/rbac?characterEncoding=UTF-8 username=root password=abc123
dept.js,是 部门功能的js脚本
pages/dept.jsp 页面,是部门的页面,实现相应信息
pages/detailInfo.jsp ,是查看个人信息的页面,不实现相应的信息
pages/login.jsp,登录的页面,实现相应的信息
pages/main.jsp ,主页展示的页面, 实现相应的信息
pages/noPrivilege.jsp, 无权限时展示的页面, 实现相应的信息
pages/updateInfo.jsp, 是修改个人信息的界面,不实现相应的信息
pages/user.jsp , 是员工的页面,不实现相应的信息。
以部门表,进行详细的权限举例分析。