该帖已经被评为良好帖
|
|
---|---|
作者 | 正文 |
发表时间:2005-03-28
用户的身份当然是在认证的时候就被确认的,由具体的AuthenticationProvider提供身分接口的具体对象。但接下来是如何把身份和当前的操作捆绑起来,对于不同的环境一般有不同的方法。acegi定义了IntergrationProcess来处理这个问题。对于web而言,这个身份当然就是放在session里面,以前叫做AutoIntergrationProcess,现在改成更确切的名字叫HttpSessionItergrationProcess。当然身份在运行过程还是可以修改的,比如RunManager可以在某些适当的地方切换身份。
|
|
返回顶楼 | |
发表时间:2005-09-20
appfuse 1.8以后的权限管理就用的这个机制,很是费解呀!
|
|
返回顶楼 | |
发表时间:2006-04-10
梅 写道 引用 &<bean id="mySampleSecurity" class="net.sf.acegisecurity.intercept.method.MethodSecurityInterceptor">
中的&&<property name="validateConfigAttributes"><value>true</value></property> &&<property name="authenticationManager"><ref bean="authenticationManager"/></property> &&<property name="accessDecisionManager"><ref bean="accessDecisionManager"/></property> &&<property name="runAsManager"><ref bean="runAsManager"/></property> &&<property name="objectDefinitionSource"> <value> &org.groller.MySample.say*=ROLE_ADMIN,RUN_AS_SERVER </value> &&</property> &</bean>& 引用 org.groller.MySample.say*=ROLE_ADMIN,RUN_AS_SERVER
的ROLE_ADMIN,RUN_AS_SERVER是什么意思? 怎么 让某个人就是这个身份 ? 这 是2个身份吧。就是说,这2个身份其中之一的 用户就可以 做这个操作。我不知道,怎么 给用户这个身份。 lz现在搞定这个问题了吗?我还是疑问中。。。 |
|
返回顶楼 | |
发表时间:2006-04-10
晕, 这是几百年的事情了。。
ROLE_ADMIN,RUN_AS_SERVER时说明需要两个操作,一个是让ROLE voter来判断你的身份是不失ADMIN,RUN_AS是让你在这个操作中享有RUN_AS_SERVER的授权,这个授权配制好了(要在配置文件里面写Key的),在这个操作中(可能会远程到另一个acegi的服务器),你有了RUN_AS_SERVER这个令牌,就不用作任何校验,很适合web service的环境中使用。当然操作结束后,acegi会自动收回RUN_AS这个令牌了。 |
|
返回顶楼 | |
发表时间:2006-04-14
谢谢,已经搞定了。呵呵
|
|
返回顶楼 | |