2015-10-08 4 views
0

Я пытаюсь справиться с Spring Security, и я думаю, что я до сих пор работаю, но может ли кто-нибудь объяснить мне несколько вещей здесь? В частности, я хотел бы знать, почему я должен использовать этот префикс beans: в этом файле конфигурации:Зачем нужен префикс «bean:» здесь?

<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="/**" .. /> 

ответ

0

Вы mixxed до вашего xml-header, где spring-security теперь является вашим корневым заголовком.

<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> 

Второй вопрос:

Разница между * и ** является то, что * только описывает ту же папку, в то время как ** рекурсивно. Я не уверен в регулярном выражении, но я думаю, что это не защитит.

+0

Hi! Что именно делает Spring Security моим корневым заголовком сейчас? Или лучше: как объявляется заголовок root? Под заголовком вы подразумеваете bean-config-файл, верно? – displayname

+0

Потому что это одно без объяснительной декларации. См. Xmlns vs xmlns: beans. См .: http://www.w3schools.com/xml/xml_namespaces.asp –