]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - server/modules/org.argeo.jackrabbit.webapp/WEB-INF/security-filters.xml
Improve remoting
[lgpl/argeo-commons.git] / server / modules / org.argeo.jackrabbit.webapp / WEB-INF / security-filters.xml
index 37bd8b3475676a382c49db208bca08492c065350..47ed794f7a0c5936d6de1078f10a7105a5712cc6 100644 (file)
@@ -9,9 +9,12 @@
        <bean id="springSecurityFilterChain" class="org.springframework.security.util.FilterChainProxy">
                <sec:filter-chain-map path-type="ant">
                        <sec:filter-chain pattern="/webdav/**"
-                               filters="x509,basic,rememberMe,exception,interceptor" />
-                       <sec:filter-chain pattern="/remoting/**"
-                               filters="x509,basic,anonymous,exception,interceptor" />
+                               filters="session,x509,basic,exception,interceptor" />
+                       <!-- For some reason the first level listing workspaces must be public -->
+                       <sec:filter-chain pattern="/remoting/*/"
+                               filters="anonymous,exception,interceptorPublic" />
+                       <sec:filter-chain pattern="/remoting/*/**"
+                               filters="session,x509,basic,exception,interceptor" />
                        <sec:filter-chain pattern="/public/**"
                                filters="anonymous,exception,interceptorPublic" />
                        <sec:filter-chain pattern="/pub/**"
                        <sec:filter-chain pattern="/j_spring_security_logout"
                                filters="logout,exception" />
                </sec:filter-chain-map>
+               <property name="matcher">
+                       <bean class="org.springframework.security.util.AntUrlPathMatcher">
+                               <!-- Do not convert to lower case -->
+                               <constructor-arg value="false" />
+                       </bean>
+               </property>
        </bean>
 
        <!-- The actual authorization checks (called last, but first here for ease 
@@ -27,7 +36,7 @@
                <property name="objectDefinitionSource">
                        <value>
                                PATTERN_TYPE_APACHE_ANT
-                               /*/*/*/**=ROLE_USER,ROLE_ADMIN
+                               /**=ROLE_USER,ROLE_ADMIN
                        </value>
                </property>
        </bean>
                </property>
        </bean>
 
-       <!-- Integrates the authentication information in the http sessions
+       <!-- Integrates the authentication information in the http sessions -->
        <bean id="session"
                class="org.springframework.security.context.HttpSessionContextIntegrationFilter">
-               <property name="allowSessionCreation" value="false" />
+               <property name="allowSessionCreation" value="true" />
        </bean>
- -->
+
        <!-- Processes logouts, removing both session informations and the remember-me 
                cookie from the browser -->
        <bean id="logout" class="org.springframework.security.ui.logout.LogoutFilter">
                <!-- URL redirected to after logout -->
                <constructor-arg>
                        <list>
-                               <ref bean="rememberMeServices" />
+                               <!-- <ref bean="rememberMeServices" /> -->
                                <bean
                                        class="org.springframework.security.ui.logout.SecurityContextLogoutHandler" />
                        </list>
                </constructor-arg>
        </bean>
 
-       <!-- Use the remember me cookie to authenticate -->
-       <bean id="rememberMe"
-               class="org.springframework.security.ui.rememberme.RememberMeProcessingFilter">
-               <property name="authenticationManager" ref="authenticationManager" />
-               <property name="rememberMeServices" ref="rememberMeServices" />
-       </bean>
-
-       <bean id="rememberMeServices"
-               class="org.springframework.security.ui.rememberme.TokenBasedRememberMeServices">
-               <property name="userDetailsService" ref="userDetailsService" />
-               <property name="key" value="${argeo.security.systemKey}" />
-               <property name="tokenValiditySeconds" value="${argeo.jcr.webapp.rememberMeValidity}" />
-               <property name="alwaysRemember" value="true" />
-       </bean>
+       <!-- Use the remember me cookie to authenticate <bean id="rememberMe" class="org.springframework.security.ui.rememberme.RememberMeProcessingFilter"> 
+               <property name="authenticationManager" ref="authenticationManager" /> <property 
+               name="rememberMeServices" ref="rememberMeServices" /> </bean> <bean id="rememberMeServices" 
+               class="org.springframework.security.ui.rememberme.TokenBasedRememberMeServices"> 
+               <property name="userDetailsService" ref="userDetailsService" /> <property 
+               name="key" value="${argeo.security.systemKey}" /> <property name="tokenValiditySeconds" 
+               value="${argeo.jcr.webapp.rememberMeValidity}" /> <property name="alwaysRemember" 
+               value="true" /> </bean> -->
 
        <!-- Basic authentication -->
        <bean id="basic"
                <property name="authenticationEntryPoint">
                        <ref local="basicProcessingFilterEntryPoint" />
                </property>
-               <property name="rememberMeServices" ref="rememberMeServices" />
+               <!-- <property name="rememberMeServices" ref="rememberMeServices" /> -->
        </bean>
 
        <!-- Activate basic auth when needed -->
        <bean id="basicProcessingFilterEntryPoint"
                class="org.springframework.security.ui.basicauth.BasicProcessingFilterEntryPoint">
                <property name="realmName">
-                       <value>Argeo</value>
+                       <value>${argeo.server.realmName}</value>
                </property>
        </bean>