使用AOP做权限控制见附件!select * from (select * from user) where ..where后面的是可以配置的。你的sql
使用AOP做权限控制
见附件!
select * from (select * from user) where ..
where后面的是可以配置的。
你的sql语句拦截是如何做的,可否详述? 18 楼 白糖_ 2011-06-07 年初做的一个权限拦截大概是这样的:
页面请求-->spring aop-(没有权限抛出异常)->异常拦截器-->错误页面
上面这种方式最大的问题是抛出异常会消耗很大的开支,所以我感觉用拦截器已经足够了:
页面请求-->权限拦截器-(没有权限)->错误页面 19 楼 soft_xiaohui 2011-06-07 角色权限:根据用户所拥有的角色,查出用户所拥有的权限。
采用过滤器,拦截用户的请求URL,判断用户是否有该权限使用权利。
数据权限:
在用户已有权限的基础上,只允许查询某一部分数据。
以上是个人理解。
怎么做到拥有不同角色的用户在同时拥有某一权限的基础上,查询出不同的数据?
这个问题困扰了我很久,不知现在又没有成熟的做法?
一个思路就是,在把权限,赋给角色时,指定获取数据的范围。 20 楼 fq_jeid 2011-06-08 spring security..? 21 楼 sidac 2011-06-08 我的想法是在Struts2里用拦截器来实现,比如通过对需要权限验证的Action加验证拦截器,具体做法是做个default包的extend包,里面加权限验证拦截器,然后需要权限验证的Actionextend这个包。
对于基于Spring的,也可以通过AOP的方式,对需要验证的Action加特性描述,并通过关键字拦截做相应的处理。
对于一般的Action,还可以用父类继承的方式,在父类的初始化方法里进行验证并设置权限标识,在Action的执行方法里访问权限标识并做相应处理,这个方法对类的侵入性就比较强了。 22 楼 youjianbo_han_87 2011-06-08 虽然是植入,感觉还是没有用配置文件这样的方式来配置权限好。 23 楼 挪威的幽灵 2011-06-09 做了个大概的介绍,但是类似于功能点权限和数据权限没有涉及,不够深入吧 24 楼 phk070832 2011-06-09 白糖_ 写道年初做的一个权限拦截大概是这样的:
页面请求-->spring aop-(没有权限抛出异常)->异常拦截器-->错误页面
上面这种方式最大的问题是抛出异常会消耗很大的开支,所以我感觉用拦截器已经足够了:
页面请求-->权限拦截器-(没有权限)->错误页面
哈哈 很像我当初的“实验室产品”的处理方法 25 楼 wangyu1221 2011-06-18 之前使用filter对请求的url做权限检查,后来换作拦截器,功能大致上一样,但是觉得filter更灵活。
现在的问题是,如果在某一个功能/页面要对不同的用户做权限管理,比如用户A可以浏览该页面全部内容,而用户B只能浏览一部分,这个应该怎么解决? 26 楼 tianzizhi 2011-06-18
功能权限好处理,上面大部分说的都是功能权限,
业务权限不好抽象处理,差不多都是在具体代码中控制 27 楼 fantasy 2011-06-20 wangyu1221 写道之前使用filter对请求的url做权限检查,后来换作拦截器,功能大致上一样,但是觉得filter更灵活。
现在的问题是,如果在某一个功能/页面要对不同的用户做权限管理,比如用户A可以浏览该页面全部内容,而用户B只能浏览一部分,这个应该怎么解决?
可以给每一个需要控制部分定义一个权限code,用户具有这个权限code就显示(或禁用)。在用户登录的时候,默认读取用户所具有的权限code(可以是DIV的ID), 那么他无论进入哪个页面,咱们都知道哪些有权限哪些没有。