论坛首页 Java企业应用论坛

Spring Framework安全框架Acegi安全系统

浏览 23977 次
该帖已经被评为良好帖
作者 正文
   发表时间:2005-03-09  
不知道有没有人用这个Spring Framework安全框架Acegi安全系统.我整理了几篇教程,见附件.大家一起学习.有问题就贴在下面,互相帮助.如想和我交流请加我QQ:327278581
   发表时间:2005-03-09  
首先我来问2个问题,
1:
引用
&amp;<bean id="mySampleSecurity" class="net.sf.acegisecurity.intercept.method.MethodSecurityInterceptor">
&amp;&amp;<property name="validateConfigAttributes"><value>true</value></property>
&amp;&amp;<property name="authenticationManager"><ref bean="authenticationManager"/></property>
&amp;&amp;<property name="accessDecisionManager"><ref bean="accessDecisionManager"/></property>
&amp;&amp;<property name="runAsManager"><ref bean="runAsManager"/></property>
&amp;&amp;<property name="objectDefinitionSource">
     <value>
       &amp;org.groller.MySample.say*=ROLE_ADMIN,RUN_AS_SERVER
     </value>
&amp;&amp;</property>
&amp;</bean>&amp;
中的
引用
org.groller.MySample.say*=ROLE_ADMIN,RUN_AS_SERVER
的ROLE_ADMIN,RUN_AS_SERVER是什么意思? 怎么 让某个人就是这个身份 ? 这 是2个身份吧。就是说,这2个身份其中之一的 用户就可以 做这个操作。我不知道,怎么 给用户这个身份。

问题2。比如我把这个拦截器配置好了.在 applicationContext-service.xml
<bean id="mySampleSecurity" class="net.sf.acegisecurity.intercept.method.MethodSecurityInterceptor">
&amp;&amp;<property name="validateConfigAttributes"><value>true</value></property>
&amp;&amp;<property name="authenticationManager"><ref bean="authenticationManager"/></property>
&amp;&amp;<property name="accessDecisionManager"><ref bean="accessDecisionManager"/></property>
&amp;&amp;<property name="runAsManager"><ref bean="runAsManager"/></property>
&amp;&amp;<property name="objectDefinitionSource">
     <value>
       &amp;org.groller.MySample.say*=ROLE_ADMIN,RUN_AS_SERVER
     </value>
&amp;&amp;</property>
&amp;</bean>&amp;
现在我想在 applicationContext-service.xml中的 service层 中的接口 bbsMainManager中 为 增加主题这个方法,加入权限限定,那应该怎么 修改下面配置呢?
    <bean id="bbsMainManager" parent="txProxyTemplate">
        <property name="target">
            <bean class="com.erp.service.impl.BbsMainManagerImpl">
                <property name="bbsMainDAO"><ref bean="bbsMainDAO"/></property>
            </bean>
        </property>
		<!-- Override default transaction attributes b/c of LoginCookie methods -->
        <property name="transactionAttributes">
            <props>
                <prop key="save*">PROPAGATION_REQUIRED</prop>
                <prop key="remove*">PROPAGATION_REQUIRED</prop>
                <prop key="update*">PROPAGATION_REQUIRED</prop>
                <prop key="add*">PROPAGATION_REQUIRED</prop>
                <prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
            </props>
        </property>
    </bean>


谢谢
0 请登录后投票
   发表时间:2005-03-09  
第二个问题,我猜想应该这么写
    <bean id="bbsMainManager" parent="txProxyTemplate">
        <!--新增的部分  -->
	 <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="target">
            <bean class="com.erp.service.impl.BbsMainManagerImpl">
                <property name="bbsMainDAO"><ref bean="bbsMainDAO"/></property>
            </bean>
        </property>
		<!-- Override default transaction attributes b/c of LoginCookie methods -->
        <property name="transactionAttributes">
            <props>
                <prop key="save*">PROPAGATION_REQUIRED</prop>
                <prop key="remove*">PROPAGATION_REQUIRED</prop>
                <prop key="update*">PROPAGATION_REQUIRED</prop>
                <prop key="add*">PROPAGATION_REQUIRED</prop>
                <prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
            </props>
        </property>
        <!--新增的部分  -->
        <property name="objectDefinitionSource">
		    <value>
		      com.erp.service.remove*=ROLE_SUPERVISOR,RUN_AS_SERVER
		      <!-- net.sf.acegisecurity.context.BankManager.delete*=ROLE_SUPERVISOR,RUN_AS_SERVER -->
		    </value>
	    </property>    
    </bean>

    <!--新增的部分  -->
  <bean id="authenticationManager" class="net.sf.acegisecurity.providers.ProviderManager">
    <property name="providers">
       <list>
       <!--疑问:下面2个的作用是什么
          <ref bean="daoAuthenticationProvider"/>
          <ref bean="someOtherAuthenticationProvider"/>
       </list>
     </property>
</bean>

<!--疑问:<bean id="accessDecisionManager" 0.8手册中没有找到-->
<!--疑问:<bean id="runAsManager" 0.8手册中没有找到-->



但是因为第一个问题没解决。无法测试。 也不知道对不对。
0 请登录后投票
   发表时间:2005-03-09  
梅 写道
第二个问题,我猜想应该这么写
    <bean id="bbsMainManager" parent="txProxyTemplate">
        



但是因为第一个问题没解决。无法测试。 也不知道对不对。


这么写好像不行,因为那个bean是个有  parent="txProxyTemplate"属性的。  
0 请登录后投票
   发表时间:2005-03-10  
dhj1 写道
搞那么多"安全系统"做什么呀?

象下面的代码最直接:


if(男人) enter(男厕所);
if(女人) enter(女厕所);
if(不是人) stop(滚);

0 请登录后投票
   发表时间:2005-03-10  
梅 写道
不知道有没有人用这个Spring Framework安全框架Acegi安全系统.我整理了几篇教程,见附件.大家一起学习.有问题就贴在下面,互相帮助.如想和我交流请加我QQ:327278581

我最近正学习rbac,也看到了这个,想学习一下,你有msn?
图都看不见~~
0 请登录后投票
   发表时间:2005-03-10  
aoaoao 写道
梅 写道
不知道有没有人用这个Spring Framework安全框架Acegi安全系统.我整理了几篇教程,见附件.大家一起学习.有问题就贴在下面,互相帮助.如想和我交流请加我QQ:327278581

我最近正学习rbac,也看到了这个,想学习一下,你有msn?
图都看不见~~



我只有QQ。  我不会申请 MSN  . 那个 网页 有点问题, 图 就在附件里面一共2张 。 我 没修改路径。所以显示叉叉。
0 请登录后投票
   发表时间:2005-03-10  
Transaction 和 Security
都改成用interceptor就可以了
0 请登录后投票
   发表时间:2005-03-16  
个人觉得权限系统不可能完全通用的,要看具体的项目。

我现在看你用这个还不如自己写一个合适自己的。
0 请登录后投票
   发表时间:2005-03-26  
dhj1 写道
搞那么多"安全系统"做什么呀?

象下面的代码最直接:


if(男人) enter(男厕所);
if(女人) enter(女厕所);
if(不是人) stop(滚);


这个应该叫做Toy Code,呵呵
0 请登录后投票
论坛首页 Java企业应用版

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