当前位置: 技术问答>java相关
100分!有一千人左右使用的管理系统的权限问题。请进...
来源: 互联网 发布时间:2015-09-30
本文导语: 1>某个用户的权限是在登录验证时一次性全部取出放到一个session中,还是在进入 每个页面时才从数据库中去提取?哪种方法更好一些呢? 2>如果一个用户属于多个角色,那怎样编码来叠加该用户权限?又如何将叠加后的...
1>某个用户的权限是在登录验证时一次性全部取出放到一个session中,还是在进入
每个页面时才从数据库中去提取?哪种方法更好一些呢?
2>如果一个用户属于多个角色,那怎样编码来叠加该用户权限?又如何将叠加后的权限从数据库中解析出来?
请给出代码示例。。。
谢谢!
每个页面时才从数据库中去提取?哪种方法更好一些呢?
2>如果一个用户属于多个角色,那怎样编码来叠加该用户权限?又如何将叠加后的权限从数据库中解析出来?
请给出代码示例。。。
谢谢!
|
1,據你的系統,建議进入每个页面时才从数据库中去提取,
2.首先,將你權限細分,並給定代號;
其次,設定角色的權限,叠加该用户权限就是取各角色的權限的交集.
Ok?
2.首先,將你權限細分,並給定代號;
其次,設定角色的權限,叠加该用户权限就是取各角色的權限的交集.
Ok?
|
專門用一個table存放用戶的權限設置:id ,modulename,進入每個頁面時,檢查該用戶是否屬於這個模組用戶(也就是在table中是否有(用戶id,此頁面膜組名)這樣一條紀錄),如果有則置此模組的權限控制變量chkModule1=true(初始值均是false).疊加也就是再判斷用戶是否屬於另外一個模組chkModule1.另外再設一個是否可以進入頁面的權限控制chkAccess,初始值=false,並在只要有一個chiModule(i)==true時,讓chkAccess=true.
下面就是控制訪問了;如果chkAccess==true,那麼允許用戶進入,否則導向錯誤頁面.然後根據用戶所屬的模組允許其執行相應的操作
我們公司就是這樣控制權限的,我覺得還不錯,在這裡我說的有點簡單了
下面就是控制訪問了;如果chkAccess==true,那麼允許用戶進入,否則導向錯誤頁面.然後根據用戶所屬的模組允許其執行相應的操作
我們公司就是這樣控制權限的,我覺得還不錯,在這裡我說的有點簡單了
|
1.在数据库的用户属性表里建立用户权限的字段
可以使用数字如:1,2,3,4..来区分用户的等级
2.在用户登陆的时候可以使用"一次性全部取出放到一个session中"。
3.如果是多个角色,应该是算他最高权限的身份
许多论坛就是这样的。
可以使用数字如:1,2,3,4..来区分用户的等级
2.在用户登陆的时候可以使用"一次性全部取出放到一个session中"。
3.如果是多个角色,应该是算他最高权限的身份
许多论坛就是这样的。
|
我比较赞成 danieltang(停止思考)的观点:
1,據你的系統,建議进入每个页面时才从数据库中去提取,
原因:你的用户比较多,如果过量的使用session的话,我估计你的服务器吃不消。当然必须给每个用户分配必须的session,例如:session("姓名")等。
2.首先,將你權限細分,並給定代號;
其次,設定角色的權限,叠加该用户权限就是取各角色的權限的交集.
叠加为:
在数据库的用户属性表(TBmember)里建立用户权限(class)的字段
可以使用数字如:1,2,3,4..来区分用户的等级
例如校友录中,1表示普通用户,2表示班级管理员(也是普通用户),3表示班级创建人(是普通用户也是管理员,只有班级创建人才具有删除该班级的权限),4学校创建人(当然应该管理整个学校了)。
然后依次类推。
1,據你的系統,建議进入每个页面时才从数据库中去提取,
原因:你的用户比较多,如果过量的使用session的话,我估计你的服务器吃不消。当然必须给每个用户分配必须的session,例如:session("姓名")等。
2.首先,將你權限細分,並給定代號;
其次,設定角色的權限,叠加该用户权限就是取各角色的權限的交集.
叠加为:
在数据库的用户属性表(TBmember)里建立用户权限(class)的字段
可以使用数字如:1,2,3,4..来区分用户的等级
例如校友录中,1表示普通用户,2表示班级管理员(也是普通用户),3表示班级创建人(是普通用户也是管理员,只有班级创建人才具有删除该班级的权限),4学校创建人(当然应该管理整个学校了)。
然后依次类推。