Author: snoopdave
Date: Wed Mar  3 04:16:42 2010
New Revision: 918322

URL: http://svn.apache.org/viewvc?rev=918322&view=rev
Log:
Fix for remember me problem. As Greg suggested the <input> name and id values 
were wrong, but there was also a chunk of XML missing from the Spring Security 
config file security.xml.

Also, did a bit of cleanup and remove the old LDAP/CAS configuration because it 
does not work with Spring Security 2. Leaving it in the file might be confusing 
for folks trying to figure out how to make Roller work with LDAP.

Modified:
    roller/trunk/weblogger-web/src/main/webapp/WEB-INF/jsps/core/Login.jsp
    roller/trunk/weblogger-web/src/main/webapp/WEB-INF/security.xml

Modified: roller/trunk/weblogger-web/src/main/webapp/WEB-INF/jsps/core/Login.jsp
URL: 
http://svn.apache.org/viewvc/roller/trunk/weblogger-web/src/main/webapp/WEB-INF/jsps/core/Login.jsp?rev=918322&r1=918321&r2=918322&view=diff
==============================================================================
--- roller/trunk/weblogger-web/src/main/webapp/WEB-INF/jsps/core/Login.jsp 
(original)
+++ roller/trunk/weblogger-web/src/main/webapp/WEB-INF/jsps/core/Login.jsp Wed 
Mar  3 04:16:42 2010
@@ -93,7 +93,7 @@
             <tr>
                 <td width="20%"></td>
                 <td width="80%">
-                    <input type="checkbox" name="rememberMe" id="rememberMe" />
+                    <input type="checkbox" name="_spring_security_remember_me" 
id="_spring_security_remember_me" />
                     <label for="rememberMe">
                         <s:text name="loginPage.rememberMe" />
                     </label>

Modified: roller/trunk/weblogger-web/src/main/webapp/WEB-INF/security.xml
URL: 
http://svn.apache.org/viewvc/roller/trunk/weblogger-web/src/main/webapp/WEB-INF/security.xml?rev=918322&r1=918321&r2=918322&view=diff
==============================================================================
--- roller/trunk/weblogger-web/src/main/webapp/WEB-INF/security.xml (original)
+++ roller/trunk/weblogger-web/src/main/webapp/WEB-INF/security.xml Wed Mar  3 
04:16:42 2010
@@ -21,11 +21,11 @@
              xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
              http://www.springframework.org/schema/security 
http://www.springframework.org/schema/security/spring-security-2.0.1-openidfix.xsd";>
 
-<!--
-             xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
-              http://www.springframework.org/schema/security 
http://www.springframework.org/schema/security/spring-security-2.0.1.xsd";>
+    <!--
+xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
+http://www.springframework.org/schema/security 
http://www.springframework.org/schema/security/spring-security-2.0.1.xsd";>
 -->
-                 
+
     <http auto-config="false" lowercase-comparisons="true" 
access-decision-manager-ref="accessDecisionManager">
         <intercept-url pattern="/images/**" filters="none"/>
         <intercept-url pattern="/scripts/**" filters="none"/>
@@ -37,21 +37,45 @@
         <intercept-url pattern="/roller-ui/authoring/**" 
access="admin,editor"/>
         <intercept-url pattern="/roller-ui/admin/**" access="admin"/>
         <intercept-url pattern="/rewrite-status*" access="admin"/>
-        
-        <!-- Uncomment the following for LDAP/SSO configuration -->
-        <!--intercept-url pattern="/roller-ui/user.do*" access="register"/-->
-        <form-login login-page="/roller-ui/login.rol" 
authentication-failure-url="/roller-ui/login.rol?error=true" 
-               login-processing-url="/roller_j_security_check"/>  
-        <remember-me user-service-ref="rollerUserService" 
key="715F2448-3176-11DD-ABC6-9CD955D89593"/>
-    </http>    
 
+        <form-login login-page="/roller-ui/login.rol"
+                    
authentication-failure-url="/roller-ui/login.rol?error=true"
+                    login-processing-url="/roller_j_security_check"/>
+
+        <remember-me user-service-ref="rollerUserService"
+                     key="715F2448-3176-11DD-ABC6-9CD955D89593"/>
+    </http>
+
+
+    <!-- Read users from Roller API -->
+    <authentication-provider user-service-ref="rollerUserService"/>
+    <beans:bean id="rollerUserService"
+                
class="org.apache.roller.weblogger.ui.core.security.RollerUserDetailsService"/>
+
+    <beans:bean id="accessDecisionManager" 
class="org.springframework.security.vote.AffirmativeBased">
+        <beans:property name="allowIfAllAbstainDecisions" value="false"/>
+        <beans:property name="decisionVoters">
+            <beans:list>
+                <beans:ref local="roleVoter"/>
+            </beans:list>
+        </beans:property>
+    </beans:bean>
+    <beans:bean id="roleVoter" 
class="org.springframework.security.vote.RoleVoter">
+        <beans:property name="rolePrefix" value=""/>
+    </beans:bean>
+
+    <beans:bean id="rememberMeAuthenticationProvider" 
class="org.springframework.security.providers.rememberme.RememberMeAuthenticationProvider">
+        <!-- This ensures that remember-me is added as an authentication 
provider -->
+        <custom-authentication-provider />
+        <beans:property name="key" value="springRocks"/>
+    </beans:bean>
 
+    <!-- OpenID -->
     <authentication-manager alias='authenticationManagerAlias'/>
     <beans:bean id = "openIDAuthProvider" 
class="org.springframework.security.providers.openid.OpenIDAuthenticationProvider">
         <custom-authentication-provider/>
         <beans:property name="userDetailsService" ref="rollerUserService"/>
     </beans:bean>
-
     <beans:bean id="openidAuthenticationProcessingFilter" 
class="org.apache.roller.weblogger.ui.core.filters.CustomOpenIDAuthenticationProcessingFilter">
         <beans:property name="defaultTargetUrl" value="/roller-ui/menu.rol"/>
         <beans:property name="filterProcessesUrl" 
value="/roller_j_openid_security_check"/>
@@ -60,122 +84,14 @@
                 <beans:prop 
key="org.springframework.security.userdetails.UsernameNotFoundException">/roller-ui/register.rol
                 </beans:prop>
                 <beans:prop 
key="org.springframework.security.BadCredentialsException">/roller-ui/login.rol?error=true
-                </beans:prop>  
+                </beans:prop>
                 <beans:prop 
key="org.springframework.security.AuthenticationException">/roller-ui/login.rol?error=true
                 </beans:prop>
             </beans:props>
-        </beans:property>   
-        <beans:property name="authenticationFailureUrl" 
value="/roller-ui/login.rol?error=true"/>   
+        </beans:property>
+        <beans:property name="authenticationFailureUrl" 
value="/roller-ui/login.rol?error=true"/>
         <beans:property name="authenticationManager" 
ref="authenticationManagerAlias"/>
         <custom-filter position="OPENID_PROCESSING_FILTER"/>
     </beans:bean>
-  
-
-    <authentication-provider user-service-ref="rollerUserService"/>
-   
-    
-    <!-- Read users from Roller API -->
-    <beans:bean id="rollerUserService" 
class="org.apache.roller.weblogger.ui.core.security.RollerUserDetailsService"/>
-
 
-       <!-- It may be possible to get rid of the following two beans in a 
future version of Spring Security. -->
-       <!-- See http://jira.springframework.org/browse/SEC-840 for more 
information. -->
-    <beans:bean id="accessDecisionManager" 
class="org.springframework.security.vote.AffirmativeBased">
-        <beans:property name="allowIfAllAbstainDecisions" value="false"/>
-        <beans:property name="decisionVoters">
-            <beans:list>
-                <beans:ref local="roleVoter"/>
-            </beans:list>
-        </beans:property>
-    </beans:bean>
-    <beans:bean id="roleVoter" 
class="org.springframework.security.vote.RoleVoter">
-        <beans:property name="rolePrefix" value=""/>
-    </beans:bean>
-       
-    <!-- TODO MR: Modify LDAP and CAS Configuration for Spring Security 2.0.x 
-->
-    
-    <!-- ===================== LDAP AUTHENTICATION ==================== -->
-    <!-- BEGIN: Sample LDAP/RollerDB hybrid security configuration
-    <bean id="initialDirContextFactory" 
class="org.springframework.security.ldap.DefaultInitialDirContextFactory">
-        <constructor-arg value="LDAP_URL"/>
-        <property name="managerDn" value="LDAP_USERNAME"/>
-        <property name="managerPassword" value="LDAP_PASSWORD"/>
-    </bean>
-                
-    <bean id="ldapUserSearch" 
class="org.springframework.security.ldap.search.FilterBasedLdapUserSearch">
-        <constructor-arg index="0" value=""/>
-        <constructor-arg index="1" value="uid={0}"/>
-        <constructor-arg index="2" ref="initialDirContextFactory"/>         
-        <property name="searchSubtree" value="true"/>           
-    </bean>     
-
-    <bean id="ldapAuthProvider" 
class="org.springframework.security.providers.ldap.LdapAuthenticationProvider">
-        <constructor-arg>
-            <bean 
class="org.springframework.security.providers.ldap.authenticator.BindAuthenticator">
-                <constructor-arg ref="initialDirContextFactory"/>
-                <property name="userSearch" ref="ldapUserSearch"/>
-            </bean>
-        </constructor-arg>
-        <constructor-arg ref="jdbcAuthoritiesPopulator"/>
-        <property name="userCache" ref="userCache"/>
-    </bean>    
-      
-    <bean id="jdbcAuthoritiesPopulator" 
class="org.apache.roller.weblogger.ui.core.security.AuthoritiesPopulator">
-        <property name="defaultRole" value="register"/>       
-    </bean>
-     -->
-    <!-- END Sample LDAP/RollerDB hybrid security configuration -->
-
-    <!-- ======================== CENTRAL AUTHENTICATION SERVICE (CAS) 
======================= -->
-    <!-- BEGIN: Sample CAS/RollerDB hybrid security configuration
-    <bean id="casProcessingFilter" 
class="org.springframework.security.ui.cas.CasProcessingFilter">
-        <property name="authenticationManager" ref="authenticationManager"/>
-        <property name="authenticationFailureUrl" 
value="/roller-ui/login.rol?error=true"/>
-        <property name="defaultTargetUrl" value="/"/>
-        <property name="filterProcessesUrl" value="/roller_j_security_check"/>
-    </bean>
-   
-    <bean id="casProcessingFilterEntryPoint" 
class="org.springframework.security.ui.cas.CasProcessingFilterEntryPoint">
-        <property name="loginUrl" value="https://localhost:8443/cas/login"/>
-        <property name="serviceProperties" ref="serviceProperties"/>
-    </bean>
-    
-    <bean id="casAuthenticationProvider" 
class="org.springframework.security.providers.cas.CasAuthenticationProvider">
-        <property name="casAuthoritiesPopulator">
-            <bean 
class="org.apache.roller.weblogger.ui.core.security.RollerCasPopulator">
-                <property name="userDetailsService" 
ref="jdbcAuthenticationDao"/>
-            </bean> 
-        </property>
-        <property name="casProxyDecider" ref="casProxyDecider"/>
-        <property name="ticketValidator" ref="casProxyTicketValidator"/>
-        <property name="statelessTicketCache" ref="statelessTicketCache"/>
-        <property name="key" value="rollerlovesacegi"/>
-    </bean>
-   
-    <bean id="casProxyTicketValidator" 
class="org.springframework.security.providers.cas.ticketvalidator.CasProxyTicketValidator">
-        <property name="casValidate" 
value="https://localhost:8443/cas/proxyValidate"/>
-        <property name="proxyCallbackUrl" 
value="http://localhost:8080/roller/casProxy/receptor"/>
-        <property name="serviceProperties" ref="serviceProperties"/>
-        <property name="trustStore" 
value="/Library/Java/Home/lib/security/cacerts"/>
-    </bean>
-    
-    <bean id="cacheManager" 
class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"/>
-    
-    <bean id="ticketCacheBackend" 
class="org.springframework.cache.ehcache.EhCacheFactoryBean">
-       <property name="cacheManager" ref="cacheManager"/>
-       <property name="cacheName" value="ticketCache"/>
-    </bean>
-    
-    <bean id="statelessTicketCache" 
class="org.springframework.security.providers.cas.cache.EhCacheBasedTicketCache">
-        <property name="cache" ref="ticketCacheBackend"/>
-    </bean>
-    
-    <bean id="casProxyDecider" 
class="org.springframework.security.providers.cas.proxy.RejectProxyTickets"/>
-    
-    <bean id="serviceProperties" 
class="org.springframework.security.ui.cas.ServiceProperties">
-        <property name="service" 
value="http://localhost:8080/roller/roller_j_security_check"/>
-        <property name="sendRenew" value="false"/>
-    </bean>
-    -->
-    <!-- END Sample CAS/RollerDB hybrid security configuration -->
 </beans:beans>


Reply via email to