论坛首页 Java企业应用论坛

完全脱离繁琐的acegi,自己设计一套权限控制

浏览 6436 次
该帖已经被评为隐藏帖
作者 正文
   发表时间:2009-11-03  
liubaoshan 写道
acegi的配置确实繁琐,但是经过自己改装后还是可以放到任何一个web系统中应用的,不需要做繁琐的配置

怎么改装呢,有详细的说明吗?我正需要呢。
0 请登录后投票
   发表时间:2009-11-03  
我看到的就是RBAC的核心表,呵呵,不过楼主的标题太大了。
0 请登录后投票
   发表时间:2009-11-03  
如何理解了什么是资源,也就理解权限
LZ的想法只是一个简化的权限管理
如果只是这样确实比acegi方便,但是真正做到资源权限管理还是不够的
0 请登录后投票
   发表时间:2009-11-03  
linliangyi2007 写道
我看到的就是RBAC的核心表,呵呵,不过楼主的标题太大了。

这只是表结构,我用extjs 用了棵树,我认为这是一般的权限, 如果按细粒度来分,至少应该分3层  url权限、数据权限、数据库字段权限
0 请登录后投票
   发表时间:2009-11-03  
linzy410 写道
如何理解了什么是资源,也就理解权限
LZ的想法只是一个简化的权限管理
如果只是这样确实比acegi方便,但是真正做到资源权限管理还是不够的



此兄弟所言极是,这只是一般的不能一般的权限,至于要真正做细粒度,这远远不够的,而且从灵活度来说这也差之甚远。如果一般的 我觉得比acegi方便多了。见笑了
0 请登录后投票
   发表时间:2009-11-03  
我在设计权限系统的时候,一开始也是考虑一大堆东西,包括基于B/S跟基于C/S的。于是光一个操作权限就让我烦躁不已。

后来思量了很多。最后还是决定跟LZ一样,用URL的方式来控制。为什么?URL完全可以满足操作权限的验证。拿web应用来说明吧,不过是JSP或者SERVLET,又或是HTML,在与服务器交互过程中,总得告诉服务器你需要请求的是什么资源吧,那OK,服务器知道了你请求的资源,我就能根据这些资源跟你的权限进行匹配,权限足够,可以访问。至于C/S,说实话,我没开发过。但是有一点我认为是相同的——都要请求服务器的资源。而服务器都是通过不同的类、方法来执行各种不同的操作,而类跟方法在系统中都可以通过一些方法将之映射成不同的URL,大家可以参考struts2.0。当然,还可以遵循约定大于配置的方法来简化一些配置信息。

综上,我认为,URL方式的过滤完全可以满足操作权限级别的系统安全。

至于数据权限,说实话,到目前为止,我仍然没有一个比较好的解决方案。

数据权限的设计范围太广,而且又涉及到业务,很难有一个通用的解决方案。

行级的数据权限可以通过拼装SQL来解决,但是列级的呢?而且,现在几乎都是用ORM来与存储设备交互,这种情况下,如何才能有一套完美的数据权限的解决方案?用规则引擎吗?

希望能有在这方面的达人提供一个比较完整的解决方案。
0 请登录后投票
   发表时间:2009-11-03  
F.B.I 写道
权限表
CREATE TABLE `right` (


一般'权限', 俺们翻译为'privilege'
0 请登录后投票
   发表时间:2009-11-03  
nathanlee 写道
F.B.I 写道
权限表
CREATE TABLE `right` (


一般'权限', 俺们翻译为'privilege'

这个倒没什么,习惯自己就好,怎么定义就怎么弄,哈哈
0 请登录后投票
   发表时间:2009-11-03  
看来我在一楼的回复倒引起一些敌视。
楼主, 不同的solution对应不同的scenario,如果你只是普通的网站后台, 别说acegi, 是不是考虑连Spring那么繁琐的配置也省去算了?
jsp+servlet+url权限控制?

你这几张表, 入门级的工程师应该都见过, 做过, 想过, 实在价值不高。我说的你接受就接受, 不接受就不接受, 无所谓。
还有个回帖认为我装x的那个人, 也无所谓, 因为我知道对牛弹琴是没结果的。
0 请登录后投票
   发表时间:2009-11-03  
berlou 写道
看来我在一楼的回复倒引起一些敌视。
楼主, 不同的solution对应不同的scenario,如果你只是普通的网站后台, 别说acegi, 是不是考虑连Spring那么繁琐的配置也省去算了?
jsp+servlet+url权限控制?

你这几张表, 入门级的工程师应该都见过, 做过, 想过, 实在价值不高。我说的你接受就接受, 不接受就不接受, 无所谓。
还有个回帖认为我装x的那个人, 也无所谓, 因为我知道对牛弹琴是没结果的。

我以为自己很极端,可今天不这么认为了,我发这贴的目的不是秀技术,也没什么技术含量,只是借此来引出大家在实际项目中怎么做的,这个是最简单的网站后台的权限,不要动不动就 对牛弹琴 ,未免你也太那个了吧!
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics