[原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架

实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架

最近项目使用Acegi作为安全框架的实现,效果不错,就写了这篇文章作为总结.

对于任何一个完整的应用系统,完善的认证和授权机制是必不可少的。在基于SpringFramework的WEB应用中,
我们可以使用Acegi作为安全架构的实现。本文将介绍如何在基于Spring构架的Web应用中使用Acegi,并且详细介
绍如何配置和扩展Acegi框架以适应实际需要。

文章和代码下载:

http://www.blogjava.net/Files/youlq/Acegi.zip


注意:许多朋友在部署上遇到一些麻烦,所以我将可以部署的完整的war文件传上来,注意:java代码在acegi-sample.war\WEB-INF 目录下,例子需要Mysql,建库脚本在acegi-sample.war\db目录下。

acegi-sample.part1.rar
acegi-sample.part2.rar
acegi-sample.part3.rar
acegi-sample.part4.rar

附注:

有些朋友询问我如何部署文中的例子,在此再次说明一下(文章中已经有提到):

Mysql的建表脚本在db目录下
为了减小体积,已经将WEB-INF\lib下的依赖包删除,请自行下载以下包,并拷贝至WEB-INF\lib下:
spring-1.2.4.jar
acegi-security-0.8.3.jar
aopalliance-1.0.jar
c3p0-0.9.0.jar
commons-logging-1.0.4.jar
ehcache-1.1.jar
log4j-1.2.8.jar
mysql-connector-java-3.1.10-bin.jar
oro-2.0.8.jar

提示:
acegi-security-0.8.3.jar
aopalliance-1.0.jar
c3p0-0.9.0.jar
commons-logging-1.0.4.jar
ehcache-1.1.jar
log4j-1.2.8.jar
oro-2.0.8.jar
可以在acegi-security-0.8.3.zip所带的acegi-security-sample-contacts-filter.war中找到。
spring-1.2.4.jar
mysql-connector-java-3.1.10-bin.jar
要分别到springframework和mysql网站下载。



posted on 2005-12-06 10:49 一餐三碗 阅读(50038) 评论(72)  编辑  收藏 所属分类: 教程

评论

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2005-12-11 19:04 rockyzhang  回复  更多评论   

对方法的自定义权限控制
对URL的自定义权限控制
这个有没有相关的一点代码或者提示呢?

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2005-12-12 08:57 一餐三碗  回复  更多评论   

由于目前我没有遇到这种需求,因此没有仔细考虑过这方面代码,不过通过我的例子代码相信会对你有很大帮助的.

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2005-12-12 11:55 海珠江奋  回复  更多评论   

一直有个疑问.acegi的靠声明方式来做安全访问的和分配权限的.
如果是客户需要自定义权限的话.该怎么办呢.没有理由让客户来做配置吧

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2005-12-12 13:14 一餐三碗  回复  更多评论   

文章里面已经解决了这个问题.配置信息基本是在数据库中.

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2005-12-16 15:20 吴淦  回复  更多评论   

好,经典!

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2005-12-20 17:49 Feiing  回复  更多评论   

关于数据库扩展实现, 可以参考

http://starcraft.blogdriver.com/starcraft/1089862.html



http://www.hibernate.org.cn/viewtopic.php?t=17538

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2006-01-07 15:30 一餐三碗  回复  更多评论   

好些朋友通过email和我交流,我将把一些朋友的问题和我的解答陆续贴出来。

来自ligangdu@21cn.com的朋友问:
-----------------------------------------------------
为什么在访问acegi-sample的时候会自动显示login.jsp页面呢,我看了web.xml,其中没有设置welcome-file。是不是因为在“authenticationProcessingFilterEntryPoint”中设置了“<property name="loginFormUrl"><value>/login.jsp</value></property>”?
-----------------------------------------------------
答:是的。

来自mechiland@gmail.com的朋友问:
-----------------------------------------------------
有一个疑问就是:例子中的控制只能到方法级别,能不能到数据级别?
例如:readOnlyUser cannot call ContactManager.delete方法
editUser 可以调用ContactManager.edit方法
但是受限的编辑用户只能调用edit方法中的某些参数,例如,订单号从1-100的订单。

不知道Acegi能否在数据权限的控制上也有解决办法?
-----------------------------------------------------
答:这个问题我在文章的总结部分有提到:
<!--在本文的示例程序中我们只对业务对象(ContactManager)进行安全保护,对业务领域对象(Contact)的访问并没有作限制,这是由于在Acegi框架中采用ACL(访问控制列表)技术实现这个功能,这使得一旦我们的业务领域对象数量很多的话,效率将变得很低,因此我们将对业务领域对象访问控制的代码放在业务对象的业务方法中。-->
说实话,这个问题我还没有找到很合适的方法解决,acegi提供的acl技术在性能上会有很大的问题,当然,如果数据量很小的话,也可以尝试.不过在大部分的应用场景我想这种机制是不够完美的.也许可以通过AOP技术对方法的参数和返回值进行拦截和过滤.可能以后有时间再深入研究一下.

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2006-01-10 16:30 bzshow  回复  更多评论   

客户需要自定义权限的话
可以继承AbstractSecurityInterceptor.java,
当然还要修改一些类, 具体可以参考源码

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2006-02-11 20:40 soncheng  回复  更多评论   

运行出现提示:

[WARN,Configurator,main] No configuration found. Configuring ehcache from ehcache-failsafe.xml found in the classpath: jar:file:D:/acegi/xmnms/WEB-INF/lib/ehcache-1.1.jar!/ehcache-failsafe.xml

StandardWrapper[/xmnms:default]: Loading container servlet default

StandardWrapper[/xmnms:invoker]: Loading container servlet invoker

HttpConnector[8080] Starting background thread

[WARN,LoggerListener,HttpProcessor[8080][2]] Authentication failed due to nonexistent username: root; details: net.sf.acegisecurity.ui.WebAuthenticationDetails@1f10a67: RemoteIpAddress: 127.0.0.1; SessionId: 771B3D44CEAAA2B004CB305F5E4D7286

[WARN,LoggerListener,HttpProcessor[8080][2]] Authentication failed due to nonexistent username: root; details: net.sf.acegisecurity.ui.WebAuthenticationDetails@1694eca: RemoteIpAddress: 127.0.0.1; SessionId: 771B3D44CEAAA2B004CB305F5E4D7286

[WARN,LoggerListener,HttpProcessor[8080][2]] Authentication failed due to nonexistent username: root; details: net.sf.acegisecurity.ui.WebAuthenticationDetails@1220b36: RemoteIpAddress: 127.0.0.1; SessionId: 771B3D44CEAAA2B004CB305F5E4D7286

[WARN,LoggerListener,HttpProcessor[8080][2]] Authentication failed due to nonexistent username: root; details: net.sf.acegisecurity.ui.WebAuthenticationDetails@13515e: RemoteIpAddress: 127.0.0.1; SessionId: 771B3D44CEAAA2B004CB305F5E4D7286


不能验证:

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2006-02-12 12:52 sailer  回复  更多评论   

下载的例子中的控制只能到方法级别,例如:readOnlyUser cannot call ContactManager.delete方法。但是我试了,用readonly登录进去后仍可以进行删除操作,与root用户没有任何区别,这是为什么啊?
  另外,root用户与readonly用户配置的权限不同,在配置文件中如何(就是说root可以进行Delete操作,readonly不能进行Delete操作在配置文件中哪处体现?)体现?

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2006-02-13 15:34 xmlbjtu  回复  更多评论   

我怎么下载的包中只有6个JSP文件,其它都没有了,是不是要自己建。代码看文档写。哪儿有完整的包可以下载。谢谢了。

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2006-02-13 19:41 一餐三碗  回复  更多评论   

@xmlbjtu
@soncheng
@sailer
我重新上传了可以部署的完整的war文件,再试一下。

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2006-03-16 19:41 James Ma  回复  更多评论   

用户的查询,除了cache外,有没有其它机制?为cluster环境,cache不支持同步.

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2006-03-18 20:52 一餐三碗  回复  更多评论   

@James Ma
cluster环境我没有试过,可以考虑采用支持cluster环境的cache实现替代ehcache,或者修改acegi代码加入cluster支持.

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2006-03-29 09:32 gavin  回复  更多评论   

问一个问题:acegi的认证方式可以配置么?就像JAAS那样可以通过LoginContext来调用不同的LoginModule,来实现不同方式的认证,比如登录时可以通过数据库来校验,或者通过windowsNT的用户来校验,acegi是否支持?

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2006-03-30 09:52 一餐三碗  回复  更多评论   

Acegi可以通过配置不通的AuthenticationProvider来调用不同的认证方式实现. Acegi自带以下认证方式实现(这些类均实现AuthenticationProvider接口):
AnonymousAuthenticationProvider
AuthByAdapterProvider
CasAuthenticationProvider
DaoAuthenticationProvider
JaasAuthenticationProvider
PasswordDaoAuthenticationProvider
RememberMeAuthenticationProvider
RemoteAuthenticationProvider
RunAsImplAuthenticationProvider
X509AuthenticationProvider

在我的例子中使用了
AnonymousAuthenticationProvider
DaoAuthenticationProvider
这两种.

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2006-05-09 17:15 xxxxxx  回复  更多评论   

<form action="j_acegi_security_check" method="POST">

登陆的时候是怎么处理的 这一句看不懂action="j_acegi_security_check" ??
eclipsehibernate@hotmial.com

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2006-05-10 10:19 hard  回复  更多评论   

在那有它的源码亚net.sf的那个,sourceforge上面的是org且不能编译过去,(符号有问题的)

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2006-05-10 16:41 一餐三碗  回复  更多评论   

@xxxxxx
标准格式,呵呵,没什么道理的.

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2006-05-10 16:43 一餐三碗  回复  更多评论   

@hard
这个例子采用的是acegi-security-0.8.3这个版本,请下载对应的版本编译.

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2006-05-21 11:26 irene  回复  更多评论   

我下载之后,打开的PDF是乱码:(

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2006-07-20 14:44 freshman  回复  更多评论   

用jdbcDaoImpl里的那种sql去验证,应该是有sql注入问题吧

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2006-07-21 08:14 一餐三碗  回复  更多评论   

@freshman
sql注入问题是由采用字符串拼接的方式构造sql语句所产生的,在这个例子里没有采用这种方式.

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2006-08-24 15:12 温柔一刀5  回复  更多评论   

一餐三碗能不能升级到1.0版本,便于学习,是试了一下,由于一些类在1.0版本连类名字都改了,我不熟,所以不知道改成什么了?能否花点时间升下?非常感谢!

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2006-10-25 09:25 一餐三碗  回复  更多评论   

@温柔一刀5

呵呵,我也一直想做这件事情,可是没有时间啊,要知道写教程真的很花时间的。不过我建议在没有更好的文章之前可以下载我这篇文章的对应代码仔细看看,重要的是在于理解acegi的设计思想,理解之后我想升级就不是难事了。

# re: [原创]实战Acegi:/login.jsp*= 2006-10-28 19:14 ACEGI  回复  更多评论   

您好,我想向您请教下Acegi:/login.jsp*=ROLE_ADMIN *是什么意思啊??

/testpages/*.jsp=ROLE_ANONYMOUS,ROLE_PARTICIPANT,ROLE_RA,ROLE_ADMIN 如果没有*呢?

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2006-11-02 09:14 一餐三碗  回复  更多评论   

@ACEGI

*是通配符啊

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2006-12-27 01:58 梦秋雨  回复  更多评论   

对照着例子,以及SpringSide的配置,终于看完了。对Acegi了解加深了。非常感谢作者。

对照SpringSide,看到了一种扩展方式,实现基于角色的权限控制(RBAC)。实现起来也还是很简单的。将jdbcImpl配置修改如下:

<bean id="jdbcDaoImpl"
class="org.acegisecurity.userdetails.jdbc.JdbcDaoImpl">
<property name="dataSource" ref="dataSource"/>
<property name="usersByUsernameQuery">
<value>
select loginid,passwd,1 from ss_users where status='1' and loginid = ?
</value>
</property>
<property name="authoritiesByUsernameQuery">
<value>
select u.loginid,p.name from ss_users u,ss_roles r,ss_permissions
p,ss_user_role ur,ss_role_permis rp where u.id=ur.user_id and
r.id=ur.role_id and p.id=rp.permis_id and
r.id=rp.role_id and p.status='1' and u.loginid=?
</value>
</property>
</bean>

这样在authoritiesByUsernameQuery查询中就把Role联系进来了。

以后有空可以好好分析一下。呵呵

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2007-01-01 11:26 一餐三碗  回复  更多评论   

感谢梦秋雨的评论,其实这篇文章的代码有点陈旧(毕竟是基于0.8.3版本的)而且演示的功能也是不够全面,实际上在我后面开发的项目里面已经采用acegi全面实现了认证和各种资源(web resource、url、service method、root的特殊角色)的授权功能,一直想更新这篇教程就是没时间,不过基本的思路这篇教程已经交代的很清楚了,我相信如果认真、完整的看完教程应该对acegi的原理能够基本掌握,应用到自己的实际项目中去也是易如反掌的。

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2007-01-26 17:16 tiannet  回复  更多评论   

为什么我用root和readonly登录没任何区别呢,
所有的操作都能做。

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2007-01-26 17:26 一餐三碗[匿名]  回复  更多评论   

@tiannet

看看log信息,应该有异常

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2007-01-27 08:50 tiannet  回复  更多评论   

没打印出什么错误日志,郁闷的很:(

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2007-01-27 09:05 tiannet  回复  更多评论   

我运行在JDK1.5+Tomcat5.5下,
应该不会有问题吧?

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2007-01-27 10:05 一餐三碗  回复  更多评论   

@tiannet
应该没有问题,我的新项目就是用jdk1,5+Tomcat5.5,你再看看有没有WARN或者ERROR的日志信息

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2007-01-29 11:01 tiannet  回复  更多评论   

没有哦,谢谢你的热情回复:)
什么时候出新版的呢?
要能提供拦截URL的就好了^_^

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2007-03-02 17:35 Rocky  回复  更多评论   

你好,能否加我的QQ,31498473?谢谢(一餐三碗)

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2007-03-03 22:40 一餐三碗  回复  更多评论   

@Rocky
对不起,我不用QQ的,有问题可以在这里提出来,我尽量回答

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2007-03-09 15:05 gtb  回复  更多评论   

非常感谢你的文档和代码对我的帮助非常大!!!祝你心情愉快,赚大钱 :)

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2007-03-09 19:16 tzjz  回复  更多评论   

你好,我对acegi 还不是很熟,成功的将你的实例发布,
但发现一个问题 ,当我直接从地址栏输入http://localhost:8080/bugTrace/contactlist.jsp
也能进去,该怎么解决这个问题??谢谢

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2007-03-09 19:30 tzjz  回复  更多评论   

还不是anonymousProcessingFilter
没有起作用呀?该怎么办?

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2007-03-17 21:31 llllllllllllllllllllllllll0000000000000000  回复  更多评论   

请问下:
我们一般的b/s系统中都要做个权限管理的东西,几乎每个系统中都要建立“资源”“用户”,“角色“”的东西,还要在根据业务需要建立acl,,是不是acegi用了,就可以不用在写代码做权限这部分了。
谢谢。

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2007-03-19 09:53 一餐三碗  回复  更多评论   

@llllllllllllllllllllllllll0000000000000000
基本上可以大大减少和集中权限代码,但是对于实例级权限控制我个人认为Acegi无能为力,因为Acegi 通过 ACL 实现实例级权限控制,但是在性能和效率上有很大问题,目前无法应用到实际项目中去。不过换一个角度考虑:实例级权限控制应该是业务相关的,也是可以认为是业务代码,这样就没必要把这块代码独立出来了。

相关讨论可以参考JavaEye上的讨论,搜索一下有很多,偷懒的话可以看看这篇:
http://www.javaeye.com/post/165965

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2007-03-19 11:30 lllllllllllllllllllllllll0000000000000000   回复  更多评论   

@一餐三碗

谢谢老兄。

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架[未登录] 2007-03-20 13:41 梦秋雨  回复  更多评论   

对于根据url中的参数的值,或者方法参数的值来判断用户是否有权限访问特定资源的需求,似乎目前想来已经实现的只是个acl。然而acl却又有着性能上的缺陷。所以这个地方是不是可以自己加入一个模块,结合规则引擎,做方法参数或者url参数级别的访问控制。

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2007-04-18 11:57 李宾  回复  更多评论   

现在不能下载了啊

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2007-04-19 12:14 边缘  回复  更多评论   

@tiannet
我用root和readonly登录同样没有任何区别,极度郁闷啊。

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2007-04-19 13:03 shijh  回复  更多评论   

我用root和readonly登录同样没有任何区别,极度郁闷啊。

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2007-05-08 01:09 njcgf  回复  更多评论   

我下载了文件,用mysql建立数据库,为什么还是不能正常登录?
我的环境是myeclipse5+tomcat5.5.20+mysql
步骤就是import war文件 利用myeclipse的dataexplor建立mysql数据库连接
mysql的用户名和密码都是root , 同时修改了配置文件里面的datasurce中用户密码为root,然后run on server
就是提交以后不能正常登录
请指教,谢谢!

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2007-05-08 10:40 一餐三碗  回复  更多评论   

@njcgf
你的这种情况我没有试过,建议你单独将war文件部署到tomcat上面试一下,看一下有没有异常,如果正常说明你的开发环境有问题。

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2007-05-09 22:54 监听器  回复  更多评论   

比较实用,谢谢了

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2007-05-26 10:57 njcgf  回复  更多评论   

<bean id="anonymousProcessingFilter" class="net.sf.acegisecurity.providers.anonymous.AnonymousProcessingFilter">
<property name="key"><value>foobar</value></property>
<property name="userAttribute"><value>anonymousUser,AUTH_ANONYMOUS</value></property>
</bean>

<bean id="anonymousAuthenticationProvider" class="net.sf.acegisecurity.providers.anonymous.AnonymousAuthenticationProvider">
<property name="key"><value>foobar</value></property>
</bean>

这两个bean中那个属性值设成foobar是什么意思?是规范还是别的?谢谢!

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2007-07-18 18:25 任遨游  回复  更多评论   

这个例子非常不错,有部分朋友应用root,readonly用户都可以进行编辑和删除操作,是因为
select AUTHORITY,PROTECTED_RES from authorities where
AUTH_TYPE='FUNCTION' and AUTHORITY like
'AUTH_FUNC_ContactManager%'
这段语句,原文中AUTHORITY是小写的,改正后即可,我用了jdk1.6,tomcat5.5.23,acegi1.04可以正确运行

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架[未登录] 2007-07-22 10:19 sclsch  回复  更多评论   

mark

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2007-07-22 21:24 一餐三碗  回复  更多评论   

@任遨游
感谢您的更正!

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2007-07-23 14:17 dxjsunday  回复  更多评论   

1.2 多方面的安全控制粒度
URL 资源访问控制
http://apps:8080/index.htm -> for public
http://apps:8080/user.htm -> for authorized user
方法调用访问控制
public void getData() -> all user
public void modifyData() -> supervisor only
对象实例保护
order.getValue() < $100 -> all user
order.getValue() > $100 -> supervisor only

这是在springside看到的介绍,我想应该可以对数据的控制吧

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2007-08-19 20:16 qiang  回复  更多评论   

如何升级到1.0.4啊 我搞得怎么老师有错误啊

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2007-08-23 17:49 上海同传  回复  更多评论   

如何配置和扩展Acegi框架以适应实际需要,是很难学懂的。上海同传能否扩展Acegi框架?

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2007-08-29 10:15 gss  回复  更多评论   

很不错的例子.支持

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2007-08-29 15:41 gss  回复  更多评论   

升级到1.0.4,有几处改动.查看官方升级文档即可...

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2007-09-06 14:51 figo  回复  更多评论   

我用两个用户登录时都是 登录失败 怎么改啊 初学者
[WARN,LoggerListener,http-8088-Processor25] Authentication failed due to nonexistent username: root; details: net.sf.acegisecurity.ui.WebAuthenticationDetails@7be687: RemoteIpAddress: 127.0.0.1; SessionId: E88D62E33831BA7867D9A6042072735D
[WARN,LoggerListener,http-8088-Processor25] Authentication failed due to nonexistent username: root; details: net.sf.acegisecurity.ui.WebAuthenticationDetails@1a15597: RemoteIpAddress: 127.0.0.1; SessionId: E88D62E33831BA7867D9A6042072735D
[WARN,LoggerListener,http-8088-Processor25] Authentication failed due to nonexistent username: readonly; details: net.sf.acegisecurity.ui.WebAuthenticationDetails@1b284a4: RemoteIpAddress: 127.0.0.1; SessionId: E88D62E33831BA7867D9A6042072735D
[WARN,LoggerListener,http-8088-Processor24] Authentication failed due to nonexistent username: root; details: net.sf.acegisecurity.ui.WebAuthenticationDetails@16ff2d9: RemoteIpAddress: 127.0.0.1; SessionId: E88D62E33831BA7867D9A6042072735D

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2007-09-06 17:32 figo  回复  更多评论   

问题解决了 ^_^ 好用了
有没有系统说明文档啊

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2007-09-06 17:57 figo  回复  更多评论   

CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
PATTERN_TYPE_APACHE_ANT
/**=httpSessionContextIntegrationFilter,authenticationProcessingFilter,anonymousProcessingFilter,securityEnforcementFilter
是什么意思啊

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2007-09-07 14:27 figo  回复  更多评论   

权限分配是通过配置什么实现的啊 看不懂啊

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2007-12-20 09:48 kasila  回复  更多评论   

权限表authorities中PROTECTED_RES字段的USER值不太理解
可以解释一下?谢谢。

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2007-12-21 22:36 技术交流  回复  更多评论   

写得不错!欢迎有一年以上j2ee实际项目开发经验的朋友加入我们的讨论群:41732384

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2008-03-10 18:16 we  回复  更多评论   

我用两个用户登录时都是 登录失败 怎么改啊

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2008-03-22 18:13 everyman1978  回复  更多评论   

写得非常好,谢谢

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2008-04-25 15:19 JACKCAO  回复  更多评论   

配置没什么问题,试问如果我要得到所有登录的用户的个数,名字,和将某个用户静止登录又怎么做

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2008-05-06 16:19 fogu  回复  更多评论   

使用acegi做安全框架,web性能会有很大影响,我的项目加上后,勉强通过100并发,如果不加acegi,400并发轻松通过,有人有这方面的经验吗?

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2008-05-10 16:35 joseph  回复  更多评论   

请教一个问题,希望知道的人能给个答案,谢谢了。
在这个项目中,项目启动后,我访问首页,如果输入http://localhost:8000/Acegi后,AbstractSecurityInterceptor中的ConfigAttributeDefinition attr = this.obtainObjectDefinitionSource().getAttributes(object),attr含有的权限就是AUTH_USER,如果输入http://localhost:8000/Acegi/login.jsp,attr所包含的权限就是AUTH_ANONYMOUS,这是为什么啊,这个attr的值是怎么取到的??

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2009-02-15 18:01 adsf  回复  更多评论   

福娃免费空间 地址 http://h.8wa.com

# re: [原创]实战Acegi:使用Acegi作为基于Spring框架的WEB应用的安全框架 2009-04-20 09:56 困惑----能帮我看看为什么吗?  回复  更多评论   

[ERROR,ContextLoader,main] Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sample.util.DataSourceMethodDefinitionSourceEditor#75a744' defined in ServletContext resource [/WEB-INF/applicationContext-basic.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.FatalBeanException: Could not instantiate class [sample.util.DataSourceMethodDefinitionSourceEditor]; constructor threw exception; nested exception is java.lang.Error: Unresolved compilation problems:
The import net.sf.acegisecurity cannot be resolved
The import net.sf.acegisecurity cannot be resolved

如何解决呢,麻烦帮着看看啊。

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问