查询的权限控制,希望大家帮个忙
我现在遇到个权限控制的问题,部门的经理去查询部门员工的考勤情况,我怎么限制这个权限,让他只能查自己部门的,不能查其他部门或整个企业。大家帮个忙,权限这块真不懂,说出思路也行,给去表结构更好,谢谢
------解决方案--------------------用spring-security去控制,方便安全。
一般利用3张表加两个关联表。一个用户表,一个资源表,一个角色表,用户属于某些角色。然后某个角色拥有某些资源。这样非常灵活了。呵呵。还不清楚就去找找关于spring-security的使用。
------解决方案--------------------
sql语句就可以控制吧。。。
------解决方案-------------------- lz 试试这个spring security 你可以在配置文件一个个设置权限!或者你在表里面加字段!然后通过这个去控制
------解决方案--------------------员工表(emp) 部门表(org)
empId empName orgId orgSql orgId orgName
1 张三 1 1 1 一级部门
2 李斯 2 1.2 2 二级部门
3 王五 3 1.2.3 3 三级部门
二级部门是一级部门的下级部门,三级部门是二级部门的下级部门
查张三及张三下级部门的人员:
select * emp from emp where orgId like orgSql like '1%'
不知对楼主是否有帮助?
------解决方案--------------------控制对象级别的权限访问控制问题,用acl模型设计,即访问控制列表,即是在部门添加一个字段来存储所有能访问该对象的用户,通常是用字符串,然后分号隔开,便于解析;
------解决方案--------------------y用传说中的二进制,比如有这个权限为1,另外个权限为1<<2,还有个权限为1<<3这样就把权限分开了撒,每次要去查询的时候就用自身的权限数比如x&所需权限如果有值即>0就表示有权限!!这个做法超快的哦亲
------解决方案--------------------
并没有这么简单
当查询部门下所有员工的考勤信息的时候 ,没问题
当部门经理查询他部门下面某一个人的考勤信息的时候,是不是要传递一个员工id过去。如果他传递别的部门的员工id过去 , 那不是违背了只能查询自己部门员工考勤的原则了。