为什么我在这里需要一个“bean:”前缀?

时间:2015-10-08 15:27:08

标签: spring applicationcontext

我正在努力应对Spring Security,我认为到目前为止我已经开始工作但是有人可以在这里向我解释一些事情吗?特别是我想知道为什么我需要在此配置文件中使用此beans:前缀:

<beans:beans xmlns="http://www.springframework.org/schema/security"
    xmlns:beans="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
    http://www.springframework.org/schema/security 
    http://www.springframework.org/schema/security/spring-security-4.0.xsd">

    <beans:import resource="applicationContext-jooq.xml"/>

    <global-method-security pre-post-annotations="enabled" secured-annotations="enabled" />

    <http auto-config="true" >
        <intercept-url pattern="/**" access="hasRole('ROLE_ADMIN')" />
    </http>

    <authentication-manager >
        <authentication-provider>
            <user-service>
                <user name="admin" password="admin" authorities="ROLE_ADMIN" />
            </user-service>
        </authentication-provider>
    </authentication-manager>

    <!-- BEGIN Services -->

    <beans:bean id="loginService" class="com.mz.server.web.service.LoginService">
        <beans:constructor-arg>
            <beans:ref bean="dsl" />
        </beans:constructor-arg>
    </beans:bean>

    <!-- END Services -->

</beans:beans>

我想了解的另一件事是

之间的区别
<intercept-url pattern="/"   .. />
<intercept-url pattern="/*"  .. />
<intercept-url pattern="/**" .. />

1 个答案:

答案 0 :(得分:0)

你混合了xml-header,现在spring-security是你的root-header。

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:security="http://www.springframework.org/schema/security"
xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
http://www.springframework.org/schema/security 
http://www.springframework.org/schema/security/spring-security-4.0.xsd"
   ........> </beans>

第二个问题:

*和**之间的区别在于*仅描述相同的文件夹,而**是递归的。我不确定是否有正则表达式,但我认为它不会保护。