2010-05-03 8 views
5

मैं चाहता हूं कि कोई भी उपयोगकर्ता अपना नाम स्वयंसेवक फॉर्म में जमा कर सके, लेकिन केवल प्रशासक किसी अन्य यूआरएल को देखने में सक्षम होंगे। दुर्भाग्यवश मुझे यह सही नहीं लगता है। मेरे संसाधन.एक्सएमएल निम्नानुसार हैं;स्प्रिंग सुरक्षा 3.0 - इंटरसेप्ट-यूआरएल - सभी पृष्ठों को प्रमाणीकरण की आवश्यकता होती है लेकिन एक

<?xml version="1.0" encoding="UTF-8"?> 
<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-3.0.xsd 
         http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.0.xsd"> 
    <http realm = "BumBumTrain Personnel list requires you to login" auto-config="true" use-expressions="true"> 
     <http-basic/> 
     <intercept-url pattern="/person/volunteer*" access=""/> 
     <intercept-url pattern="/**" access="isAuthenticated()" /> 
    </http> 

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

विशेष रूप से मैं उन अभिगम सेटिंग्स को प्राप्त करने का प्रयास कर रहा हूं जिन्हें मैंने वर्णित किया है;

<intercept-url pattern="/person/volunteer*" access=""/> 
    <intercept-url pattern="/**" access="isAuthenticated()" /> 

किसी कृपया वर्णन किया जा सका कैसे अवरोधन-यूआरएल उपयोग करने के लिए परिणाम मैं का वर्णन किया है प्राप्त करने के लिए?

धन्यवाद

Gav


मैं जरूरत एक grails अनुप्रयोग में जो भी कारण;

 <intercept-url pattern="/person/volunteer/**" access="" filters="none"/> 
    <intercept-url pattern="/images/**" access="" filters="none"/> 
    <intercept-url pattern="/css/**" access="" filters="none"/> 
    <intercept-url pattern="/js/**" access="" filters="none"/> 
    <intercept-url pattern="/**" access="ROLE_ADMIN" /> 

इसे काम करने के लिए, पहले नियम में अंतर देखें।

उत्तर

8

आप अपेक्षा करते हैं कि वास्तव में क्या काम नहीं करता है? क्या गलत है?

मुझे लगता है कि पहुंच = "" करता है कि तुम क्या नहीं की उम्मीद ... प्रारूप डॉक्स से उपयोग करें:

<intercept-url pattern="/login.jsp*" filters="none"/> 

आप डिफ़ॉल्ट प्रमाणीकरण (जो आप करते हैं) आप की आवश्यकता होगी उपयोग नहीं करते हैं एक WebExpressionVoter जोड़ने क्योंकि आप भाव expressions doc

+0

वसंत 3.1 के रूप में, '' का उपयोग नहीं किया जाना चाहिए। –

1

का उपयोग हाय यूआरएल आप प्रमाणीकरण के बिना accessile बनाना चाहते के लिए access="permitAll" साथ access="" बदलें।

संबंधित मुद्दे