此教程适用于基础基础学者
好了你们好
今天交你们作java的权限模块
这个权限表有三张表 分别是用户表(
sp_admin_user
)
权限表(
sp_admin_action
)
还有就是右侧为用户赋权的表(
sp_allotstr
)
你们记住哈此权限表从不存在继承映射 什么一对一啊 什么多对多啊 都不存在 纯数据库与数据库之间的查询 由于本人在作权限前 想的太多了 因此没有作出来 不知道是什么外键关系什么的怎么连 但后来才发现根本不要紧
首先你们看这张图吧
每一个用户都有不一样的权限好比此表中有zhou用户还有admin用户
这个小疙瘩就是权限分配了
下面为你们展现下权限分配页面吧
这个就是为用户赋权限的了
好了
功能展现就到这里 下面就是教你们如何去作权限模块了 有些说的很罗嗦 因此你们 当小说看吧!!!
这两个用户就是在登陆时候输入的用户名和密码
好比我们登陆
zhou这个用户
只有这两个权限
而我用
admin登陆就会有
全部权限
在这个上面
你们必须得有个用户表是吧 要没登陆 怎么能有权限呢(感受是废话 呵呵) 验证用户就不用我说了吧 本身作用户登陆验证吧
首先给你们看下用户表吧 这里我用的是oracle数据库
这个是
user表action_list 就是权限关系表了 上面所对应的21,64,146,21,72,22就是对应的权限表的,admin的action_list里的all知道什么意思吧 就是全部权限了
而后为你们看下权限表吧
这个就是权限表了字段不少吧
首先就是action_id 这个action_id就是对应用户表里的action_list里的字段 若是你想有什么权限就给用户表里的action_list添加字段就好了 切记是 多少多少逗号多少多少 由于这个是用的
select
*
from
sp_admin_action t
where
action_id
in
(
21
,
64
,
146
,
21
,
72
,
22
)
这个用的是
where……in…… 你们知道什么是where……in……嘛?
起初我是不知道这个是什么意思但后来才知道 原来where in的意思就是好比我从权限表查用户表的action_list里的对应的权限这里用户表里的action_list字段本人就不查了 大家本身查吧 我就写个假数据
而后就把相应的字段取出来
所对应的数据也就出现了好比我登录的是zhou 那对应的权限就是
这些数据
而后前台页面也给你看下吧
知道为何输入这么多的id却出现了只有两个商品列表?看这个表格
(注:商品管理为一级菜单俗称父菜单商品列表为二级菜单就是所谓的子菜单)
这里其实用到了一个父id的概念 就是经过父亲能够找出儿子的概念(感受有点搞笑哦!!!)
Ismenu这个字段就是一个二级菜单的显示与隐藏
若是为
1的话就是显示此菜单 若是为0则是隐藏那么咱们看
和
这两个
而后在看上面的图
这两个就是显示出来的
数据库这样查询你们应该会吧 就是显示出来数据 jsp稍加判断是0隐藏是1显示总会吧 这个就够太太太简单的了 而后就是该到显示父菜单了吧
看这个表
parent_id就是父id对应的子id了 parent_id里显示1的都是为父id(就是所指的action_id)了 而后就是根据父亲
显示出
和
两个列表
最后在页面中显示出
这样的效果
这里增删改查我就不用为你们作了吧 简单的查看你们还不会啊(相信大家都是有志青年)
剩下的就是这个表了
首先你们看一下这个显示页面所对应的表吧
哇数据一大堆
呵呵 是否是有点雷人
在这里parent_id 就是对应的用户表的cation_id 就是得到父的name
这里商品管理就是那个父
id了
而后你们用sql取出用户表对应的字段就ok了 而后就是赋权了 给哪一个用户赋权 就勾选哪一个 而后在数据库里生成什么样的权限
这里
priv_array就是
所对应的
action_list这里会给全部的数据赋给用户表 父子查询显示数据上面我已经说过了 这里你本身作就ok了 呵呵