此教程適用於基礎基礎學者
好了你們好
今天交你們作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了 呵呵