权限的具体实现方法,及建表

用户表(user):
user_id
user_name
user_password


职位表(position):
position_id
position_name


功能模块表(systemModule):
systemModule_id
superSystmedule_id(作为一个功能模块的父类)
systemModule_name


职位权限表(positionRights):
positionRights_id
position_id(职位表ID)
systemModule_id(功能模块表ID)


用户角色表(userRole):
userRole_id
user_id(用户表ID)
position_id(职位表ID)


这里添加功能模块表的数据:此处省略


添加一个职位:系统管理员
insert into position (postion_id,postion_name) values ('20140115','系统管理员')


给一个职位授权,就是一个职位能够看到的功能模块有哪些
1;获取用户的userid
2: 得到选中功能模块ID的集合(systemModuleList)
integer positionid = position.getPositonId();//position为查询出来的对象。
for (int i = 0; i < systemModuleList.size(); i++) {
SystemModule systemModule = (SystemModule)systemModuleList.get(i);
integer systemModuleId = systemModule.getSystemModuleId();
integer positionRights_id = ?;根据当前时间来赋值
insert into positionRights (positionRights_id,position_id,systemModule_id) values(positionRights_id,positionid,systemModuleId);
}
3:这样就能给指定职位实现指定的功能模块


查找指定的用户:name:张三,password:123
select * from user where name='张三' and password=123

User user = query.query("select * from user where name='张三' and password=123").unique();
if (user != null) {
integer userId = user.getUserId();
list list = query.query( select * from systemModule
where systemModule_id in
(select sytemModule_id from positionRights where position in
(select postion_id from userRole where user_id =userId))).list();
//此时的list中就是指定用户的功能模块。。

} else {
用户不存在!!!
}



http://www.iteye.com/magazines/82
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值