权限控制,要控制到具体的action方法,讨论下怎么做最好?就是要控制到比如某个用户有没有增删改的功能,如果没有,就不可以对数据操作,但可以查看。这个就要求权限控制到每个具体的方法。我有一种想法是 比如添加标志为1,修改为2,删除为3,然后看他的角色来控制着三个功能,但这样做,就不能对个别用户或个别模块设置了,只能是对某个角色来设置,请指教。
解决方案 »
- Apache2.2 + Tomcat6 的SSH网站 如何实现静态化
- 请问一下现在要学hibernate 用什么版本?
- PreparedStatement的addBatch()和addBatch(String sql)
- sturts做分页空指针异常~
- action 的页面不可用,请教,急!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 请问jsp如何在tomcat发布?
- Struts如何处理多条记录
- 请问:在哪里可以下Eclipse? (在线等)
- 求大神
- 求助 The function equals must be used with a prefix when a default namespace is no
- 请教高手:怎样学习ssh框架
- 如何将字符串转换成为数据库中的时间类型
1 权限3
1 权限4
那么角色1就有了0,3,4三个权限
再用用户引用这个角色至于权限控制建议登录时查出放在session中,做每次操作时从session中取出,做权限判断
如果是struts 2.x 也可以使用struts 1.x的方式,但是推荐是struts2 的拦截器,这是struts2 的优点,在实际操作中,如果要降低耦合度,可以以采用反射来判断当前调用的action方法,然后再拦截器去过滤权限判断。
U_RIGHT -- 权限表
(
MODULEID VARCHAR2(100) not null, --模块ID //SysManage
PRIVILEGEID VARCHAR2(100) not null, --权限ID //UserManage
ROLEID VARCHAR2(50) not null, -- 角色ID
PRIVILEGE INTEGER -- 权限值 每个动作在当前功能模块的唯一值(1.2.4.8.16......)
)
U_ROLE --角色表
(
ROLEID VARCHAR2(50) not null,
ROLENAME VARCHAR2(100) not null,
ROLEDESC VARCHAR2(250) not null
)BaseAction extends Action
public boolean checkPrivilege(HttpServletRequest request, String pagename,
String action)
{
}LZ参考....