Modified: roller/trunk/apps/weblogger/web/WEB-INF/classes/ApplicationResources.properties URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/web/WEB-INF/classes/ApplicationResources.properties?rev=695329&r1=695328&r2=695329&view=diff ============================================================================== --- roller/trunk/apps/weblogger/web/WEB-INF/classes/ApplicationResources.properties (original) +++ roller/trunk/apps/weblogger/web/WEB-INF/classes/ApplicationResources.properties Sun Sep 14 19:49:10 2008 @@ -809,8 +809,12 @@ loginPage.title=Welcome to Roller loginPage.prompt=Please enter your username and password to login. +loginPage.openIdPrompt=Please login via OpenID +loginPage.openIdHybridPrompt=Or, login with your username and password loginPage.userName=Username loginPage.password=Password +loginPage.openID=OpenID username +loginPage.loginOpenID=Login loginPage.rememberMe=Remember Me loginPage.login=Login loginPage.reset=Reset @@ -1585,27 +1589,69 @@ # --------------------------------------------------------------- User register -userRegister.prompt=Use this form to register a new Roller user, please \ -create only one user account per person. +userRegister.prompt=Welcome! Before you can get started, you need to create a \ +new user account. Please complete this form and click the button at the end \ +to request your new account. <b>All fields are required</b>. -userRegister.button.save=Register User -userRegister.button.cancel=Cancel +Register.disabled=The administrator of this site has disabled user registrations \ +at this time. Please contact the system administrators if you think this is \ +incorrect. + +userRegister.heading.identification=How would you like to be identified? +userRegister.tip.identification=Enter your name(s) so you can be identified on \ +this site and your email address so we can reach you for account activation. + +userRegister.tip.userName=A short one-word username to uniquely identify \ +yourself on the site. Please limit it to simple alphanumeric characters (a-z, \ +A-Z and 0-9) and do not use HTML. You will <b>not</b> be able to change this \ +later, but that\'s OK because this string will not be publicly displayed. + +userRegister.tip.screenName=Your desired screen name (with no HTML). This is \ +is what will be displayed in your weblog and on weblog entries that you write. + +userRegister.tip.fullName=Your full name (with no HTML), first and last. Some \ +weblog themes will display this instead of (or in addition to) your screenname. -userRegister.tip.screenName=Your desired screen name (with no HTML). -userRegister.tip.fullName=Your full name (with no HTML). -userRegister.tip.userName=A short one-word username for your user account. \ -Please limit it to simple ASCII alphanumeric characters (a-z, A-Z and 0-9), \ -and do not use HTML. userRegister.tip.email=Please enter valid email address, the site administrator \ may disable your account if he/she cannot reach you via email. -userRegister.tip.timeZone=Your preferred timezone. -userRegister.tip.locale=Your preferred locale. + + +userRegister.heading.authentication=How will you be authenticated? + +userRegister.tip.openid.disabled=Enter a password to be used when you login \ +and confirm that password by entering it a second time. + +userRegister.tip.openid.hybrid=You can choose to login via password only you \ +can by OpenID only, or you can specify both if you would to be able to login \ +both ways. For more information about OpenID see \ +<a href=\"http://openid.net\">http://openid.net</a>. + +userRegister.tip.openid.only=This site uses only OpenID for logins, so please \ +specify your OpenID identifier below. For more information about OpenID see \ +<a href=\"http://openid.net\">http://openid.net</a>. + userRegister.tip.password=Your password. userRegister.tip.passwordConfirm=Confirm your password. +userRegister.tip.openIdUrl=Your OpenID identifier (in the form of a URL). -Register.disabled=The administrator of this site has disabled user registrations \ -at this time. Please contact the system administrators if you think this is \ -incorrect. + +userRegister.heading.locale=What are your locale and timezone settings? + +userRegister.tip.localeAndTimeZone=We have attempted to guess your preferred \ +locale and timezone settings below. Please set them correctly as they will be \ +used in the weblog entries you create. + +userRegister.tip.timeZone=Your preferred timezone. +userRegister.tip.locale=Your preferred locale. + +userRegister.heading.ready=Ready to roll? +userRegister.tip.ready=When you are, click the button below. + +userRegister.button.save=Register User +userRegister.button.cancel=Cancel + +userRegister.success.ready=Yes, form appears to be complete. Click the button below. +userRegister.error.mismatchedPasswords=Your passwords do not match! # errors from validation Register.error.nameNull=User Name is a required field @@ -1641,6 +1687,7 @@ userSettings.email=Email userSettings.locale=Locale userSettings.timeZone=Timezone +userSettings.openIdUrl=OpenID name userSettings.save=Save userSettings.cookieLogin=You cannot change passwords when logging in with the \ Remember Me feature. Please logout and log back in to \
Added: roller/trunk/apps/weblogger/web/WEB-INF/classes/spring-security-2.0.1-openidfix.xsd URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/web/WEB-INF/classes/spring-security-2.0.1-openidfix.xsd?rev=695329&view=auto ============================================================================== Binary file - no diff available. Propchange: roller/trunk/apps/weblogger/web/WEB-INF/classes/spring-security-2.0.1-openidfix.xsd ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Modified: roller/trunk/apps/weblogger/web/WEB-INF/jsps/core/Login.jsp URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/web/WEB-INF/jsps/core/Login.jsp?rev=695329&r1=695328&r2=695329&view=diff ============================================================================== --- roller/trunk/apps/weblogger/web/WEB-INF/jsps/core/Login.jsp (original) +++ roller/trunk/apps/weblogger/web/WEB-INF/jsps/core/Login.jsp Sun Sep 14 19:49:10 2008 @@ -33,52 +33,87 @@ } %> -<p><s:text name="loginPage.prompt" /></p> -<form method="post" id="loginForm" - action="<c:url value="<%= securityCheckUrl %>"/>" - onsubmit="saveUsername(this)"> - - <table> - - <tr> - <th><s:text name="loginPage.userName" />:</th> - <td> - <input type="text" name="j_username" id="j_username" size="25" /> - </td> - </tr> - - <tr> - <th><s:text name="loginPage.password" />:</th> - <td> - <input type="password" name="j_password" id="j_password" size="20" /> - </td> - </tr> - - <c:if test="${rememberMeEnabled}"> - <tr> - <td></td> - <td> - <input type="checkbox" name="rememberMe" id="rememberMe" /> - <label for="rememberMe"> - <s:text name="loginPage.rememberMe" /> - </label> - </td> - </tr> - </c:if> - - <tr> - <td></td> - <td> - <input type="submit" name="login" id="login" value="<s:text name="loginPage.login" />" /> - <input type="reset" name="reset" id="reset" value="<s:text name="loginPage.reset" />" - onclick="$('j_username').focus()" /> - </td> - </tr> - - </table> +<s:if test="openIdConfiguration != 'disabled'"> -</form> + <p><s:text name="loginPage.openIdPrompt" /></p> + + <form method="post" id="loginOpenIDForm" + action="/roller/roller_j_openid_security_check" + onsubmit="saveUsername(this)"> + <!-- action="<c:url value='roller_j_openid_security_check'/>" --> + <table width="80%"> + <tr> + <td width="20%" align="right"><s:text name="loginPage.openID" /></td> + <td width="80%"> + <input type="text" name="j_username" id="j_username" class="f_openid_identifier" size="40" maxlength="255" /> + </td> + </tr> + <tr> + <td width="20%"></td> + <td width="80%"> + <input type="submit" name="submit" id="submit" value="<s:text name="loginPage.loginOpenID" />" /> + </td> + </tr> + </table> + </form> +</s:if> + +<s:if test="openIdConfiguration != 'only'"> + + <s:if test="openIdConfiguration == 'hybrid'"> + <p><s:text name="loginPage.openIdHybridPrompt" /></p> + </s:if> + + <s:if test="openIdConfiguration == 'disabled'"> + <p><s:text name="loginPage.prompt" /></p> + </s:if> + + <form method="post" id="loginForm" + action="<c:url value="<%= securityCheckUrl %>"/>" + onsubmit="saveUsername(this)"> + + <table width="80%"> + + <tr> + <td width="20%" align="right"><s:text name="loginPage.userName" /></td> + <td width="80%"> + <input type="text" name="j_username" id="j_username" size="25" /> + </td> + </tr> + + <tr> + <td width="20%" align="right"><s:text name="loginPage.password" /></td> + <td width="80%"> + <input type="password" name="j_password" id="j_password" size="20" /> + </td> + </tr> + + <c:if test="${rememberMeEnabled}"> + <tr> + <td width="20%"></td> + <td width="80%"> + <input type="checkbox" name="rememberMe" id="rememberMe" /> + <label for="rememberMe"> + <s:text name="loginPage.rememberMe" /> + </label> + </td> + </tr> + </c:if> + + <tr> + <td width="20%"></td> + <td width="80%"> + <input type="submit" name="login" id="login" value="<s:text name="loginPage.login" />" /> + <input type="reset" name="reset" id="reset" value="<s:text name="loginPage.reset" />" + onclick="$('j_username').focus()" /> + </td> + </tr> + + </table> + </form> +</s:if> + <script type="text/javascript"> <!-- Modified: roller/trunk/apps/weblogger/web/WEB-INF/jsps/core/Profile.jsp URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/web/WEB-INF/jsps/core/Profile.jsp?rev=695329&r1=695328&r2=695329&view=diff ============================================================================== --- roller/trunk/apps/weblogger/web/WEB-INF/jsps/core/Profile.jsp (original) +++ roller/trunk/apps/weblogger/web/WEB-INF/jsps/core/Profile.jsp Sun Sep 14 19:49:10 2008 @@ -15,8 +15,12 @@ copyright in this work, please see the NOTICE file in the top level directory of this distribution. --%> +<%@ page import="org.apache.roller.weblogger.config.WebloggerConfig" %> <%@ include file="/WEB-INF/jsps/taglibs-struts2.jsp" %> +<%! +boolean openidEnabled = WebloggerConfig.getBooleanProperty("authentication.openid.enabled"); +%> <p class="subtitle"><s:text name="yourProfile.description" /></p> <s:form action="profile!save"> @@ -30,20 +34,6 @@ </tr> <tr> - <td class="label"><label for="passwordText" /><s:text name="userSettings.password" /></label></td> - <td class="field"> - <s:password name="bean.passwordText" size="20" maxlength="20" /> - </td> - <td class="description"><s:text name="userRegister.tip.password" /></td> - </tr> - - <tr> - <td class="label"><label for="passwordConfirm" /><s:text name="userSettings.passwordConfirm" /></label></td> - <td class="field"><s:password name="bean.passwordConfirm" size="20" maxlength="20" /></td> - <td class="description"><s:text name="userRegister.tip.passwordConfirm" /></td> - </tr> - - <tr> <td class="label"><label for="screenName" /><s:text name="userSettings.screenname" /></label></td> <td class="field"><s:textfield name="bean.screenName" size="30" maxlength="30" /></td> <td class="description"><s:text name="userRegister.tip.screenName" /></td> @@ -61,6 +51,34 @@ <td class="description"><s:text name="userRegister.tip.email" /></td> </tr> + <s:if test="openIdConfiguration != 'only'"> + <tr> + <td class="label"><label for="passwordText" /><s:text name="userSettings.password" /></label></td> + <td class="field"> + <s:password name="bean.passwordText" size="20" maxlength="20" /> + </td> + <td class="description"><s:text name="userRegister.tip.password" /></td> + </tr> + + <tr> + <td class="label"><label for="passwordConfirm" /><s:text name="userSettings.passwordConfirm" /></label></td> + <td class="field"><s:password name="bean.passwordConfirm" size="20" maxlength="20" /></td> + <td class="description"><s:text name="userRegister.tip.passwordConfirm" /></td> + </tr> + </s:if> + <s:else> + <s:hidden name="bean.password" /> + <s:hidden name="bean.passwordConfirm" /> + </s:else> + + <s:if test="openIdConfiguration != 'disabled'"> + <tr> + <td class="label"><label for="openIdUrl" /><s:text name="userSettings.openIdUrl" /></label></td> + <td class="field"><s:textfield name="bean.openIdUrl" size="40" maxlength="255" id="f_openid_identifier" /></td> + <td class="description"><s:text name="userRegister.tip.openIdUrl" /></td> + </tr> + </s:if> + <tr> <td class="label"><label for="locale" /><s:text name="userSettings.locale" /></label></td> <td class="field"> Modified: roller/trunk/apps/weblogger/web/WEB-INF/jsps/core/Register.jsp URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/web/WEB-INF/jsps/core/Register.jsp?rev=695329&r1=695328&r2=695329&view=diff ============================================================================== --- roller/trunk/apps/weblogger/web/WEB-INF/jsps/core/Register.jsp (original) +++ roller/trunk/apps/weblogger/web/WEB-INF/jsps/core/Register.jsp Sun Sep 14 19:49:10 2008 @@ -24,76 +24,168 @@ <s:hidden name="bean.enabled" /> <table class="formtable"> + <tr> + <td colspan="3"> + <h2><s:text name="userRegister.heading.identification" /></h2> + <p><s:text name="userRegister.tip.identification" /></p> + </td> + </tr> + + <s:if test="fromSso"> + <tr> + <td class="label"><label for="userName" /><s:text name="userSettings.username" /></label></td> + <td class="field"><strong><s:property value="bean.userName" /></strong></td> + <td class="description"><s:text name="userRegister.tip.userName" /></td> + </tr> + </s:if> + <s:else> + <tr> + <td class="label"><label for="userName" /><s:text name="userSettings.username" /></label></td> + <td class="field"><s:textfield name="bean.userName" size="30" maxlength="30" onkeyup="onChange()" /></td> + <td class="description"><s:text name="userRegister.tip.userName" /></td> + </tr> + </s:else> + + <tr> + <td class="label"><label for="screenName" /><s:text name="userSettings.screenname" /></label></td> + <td class="field"><s:textfield name="bean.screenName" size="30" maxlength="30" onkeyup="onChange()" /></td> + <td class="description"><s:text name="userRegister.tip.screenName" /></td> + </tr> -<s:if test="fromSso"> <tr> - <td class="label"><label for="userName" /><s:text name="userSettings.username" /></label></td> - <td class="field"><strong><s:property value="bean.userName" /></strong></td> - <td class="description"><s:text name="userRegister.tip.userName" /></td> + <td class="label"><label for="fullName" /><s:text name="userSettings.fullname" /></label></td> + <td class="field"><s:textfield name="bean.fullName" size="30" maxlength="30" onkeyup="onChange()" /></td> + <td class="description"><s:text name="userRegister.tip.fullName" /></td> </tr> -</s:if> -<s:else> + <tr> - <td class="label"><label for="userName" /><s:text name="userSettings.username" /></label></td> - <td class="field"><s:textfield name="bean.userName" size="30" maxlength="30" /></td> - <td class="description"><s:text name="userRegister.tip.userName" /></td> + <td class="label"><label for="emailAddress" /><s:text name="userSettings.email" /></label></td> + <td class="field"><s:textfield name="bean.emailAddress" size="40" maxlength="40" onkeyup="onChange()" /></td> + <td class="description"><s:text name="userRegister.tip.email" /></td> + </tr> + + <s:if test="!fromSso"> + <tr> + <td colspan="3"> + <h2><s:text name="userRegister.heading.authentication" /></h2> + + <s:if test="openIdConfiguration == 'disabled'"> + <p><s:text name="userRegister.tip.openid.disabled" /></p> + </s:if> + + <s:if test="openIdConfiguration == 'hybrid'"> + <p><s:text name="userRegister.tip.openid.hybrid" /></p> + </s:if> + + <s:if test="openIdConfiguration == 'only'"> + <p><s:text name="userRegister.tip.openid.only" /></p> + </s:if> + </td> + </tr> + + <s:if test="openIdConfiguration != 'only'"> + <tr> + <td class="label"><label for="passwordText" /><s:text name="userSettings.password" /></label></td> + <td class="field"> + <s:password name="bean.passwordText" size="20" maxlength="20" onkeyup="onChange()" /> + <s:hidden name="bean.password" /> + </td> + <td class="description"><s:text name="userRegister.tip.password" /></td> + </tr> + + <tr> + <td class="label"><label for="passwordConfirm" /><s:text name="userSettings.passwordConfirm" /></label></td> + <td class="field"><s:password name="bean.passwordConfirm" size="20" maxlength="20" onkeyup="onChange()" /></td> + <td class="description"><s:text name="userRegister.tip.passwordConfirm" /></td> + </tr> + </s:if> + <s:else> + <s:hidden name="bean.password" /> + <s:hidden name="bean.passwordConfirm" /> + </s:else> + + + <s:if test="openIdConfiguration != 'disabled'"> + <tr> + <td class="label"><label for="openIdUrl" /><s:text name="userSettings.openIdUrl" /></label></td> + <td class="field"><s:textfield name="bean.openIdUrl" size="40" maxlength="255" id="f_openid_identifier" onkeyup="onChange()"/></td> + <td class="description"><s:text name="userRegister.tip.openIdUrl" /></td> + </tr> + </s:if> + + </s:if> + + <tr> + <td colspan="3"> + <h2><s:text name="userRegister.heading.locale" /></h2> + <p><s:text name="userRegister.tip.localeAndTimeZone" /></p> + </td> </tr> <tr> - <td class="label"><label for="passwordText" /><s:text name="userSettings.password" /></label></td> + <td class="label"><label for="locale" /><s:text name="userSettings.locale" /></label></td> <td class="field"> - <s:password name="bean.passwordText" size="20" maxlength="20" /> - <s:hidden name="bean.password" /> - </td> - <td class="description"><s:text name="userRegister.tip.password" /></td> + <s:select name="bean.locale" size="1" list="localesList" listValue="displayName" /> + </td> + <td class="description"><s:text name="userRegister.tip.locale" /></td> </tr> <tr> - <td class="label"><label for="passwordConfirm" /><s:text name="userSettings.passwordConfirm" /></label></td> - <td class="field"><s:password name="bean.passwordConfirm" size="20" maxlength="20" /></td> - <td class="description"><s:text name="userRegister.tip.passwordConfirm" /></td> - </tr> -</s:else> - -<tr> - <td class="label"><label for="screenName" /><s:text name="userSettings.screenname" /></label></td> - <td class="field"><s:textfield name="bean.screenName" size="30" maxlength="30" /></td> - <td class="description"><s:text name="userRegister.tip.screenName" /></td> -</tr> - -<tr> - <td class="label"><label for="fullName" /><s:text name="userSettings.fullname" /></label></td> - <td class="field"><s:textfield name="bean.fullName" size="30" maxlength="30" /></td> - <td class="description"><s:text name="userRegister.tip.fullName" /></td> -</tr> - -<tr> - <td class="label"><label for="emailAddress" /><s:text name="userSettings.email" /></label></td> - <td class="field"><s:textfield name="bean.emailAddress" size="40" maxlength="40" /></td> - <td class="description"><s:text name="userRegister.tip.email" /></td> -</tr> - -<tr> - <td class="label"><label for="locale" /><s:text name="userSettings.locale" /></label></td> - <td class="field"> - <s:select name="bean.locale" size="1" list="localesList" listValue="displayName" /> - </td> - <td class="description"><s:text name="userRegister.tip.locale" /></td> -</tr> - -<tr> - <td class="label"><label for="timeZone" /><s:text name="userSettings.timeZone" /></label></td> - <td class="field"> - <s:select name="bean.timeZone" size="1" list="timeZonesList" /> - </td> - <td class="description"><s:text name="userRegister.tip.timeZone" /></td> -</tr> - + <td class="label"><label for="timeZone" /><s:text name="userSettings.timeZone" /></label></td> + <td class="field"> + <s:select name="bean.timeZone" size="1" list="timeZonesList" /> + </td> + <td class="description"><s:text name="userRegister.tip.timeZone" /></td> + </tr> + </table> <br /> -<s:submit key="userRegister.button.save" /> -<input type="button" value="<s:text name="userSettings.button.cancel"/>" onclick="window.location='<s:url value="/"/>'" /> - +<h2><s:text name="userRegister.heading.ready" /></h2> + +<p id="readytip"><s:text name="userRegister.tip.ready" /></p> + +<s:submit id="submit" key="userRegister.button.save" /> +<input type="button" value="<s:text name="userSettings.button.cancel"/>" + onclick="window.location='<s:url value="/"/>'" /> + </s:form> + +<script type="text/javascript"> +function onChange() { + var disabled = true; + var openIdConfig = '<s:property value="openIdConfiguration" />'; + var ssoEnabled = <s:property value="fromSso" />; + var passwordText = document.register['bean.passwordText'].value; + var passwordConfirm = document.register['bean.passwordConfirm'].value; + var userName = document.register['bean.userName'].value; + var emailAddress = document.register['bean.emailAddress'].value; + var openIdUrl = document.register['bean.openIdUrl'].value; + + if (ssoEnabled) { + if (emailAddress) disabled = false; + + } else if (openIdConfig == 'disabled') { + if (emailAddress && userName && passwordText && passwordConfirm && emailAddress) disabled = false; + + } else if (openIdConfig == 'only') { + if (emailAddress && openIdUrl) disabled = false; + + } else if (openIdConfig == 'hybrid') { + if (emailAddress && ((passwordText && passwordConfirm) || (openIdUrl)) ) disabled = false; + } + if ((passwordText || passwordConfirm) && !(passwordText == passwordConfirm)) { + $('readytip').innerHTML = '<s:text name="userRegister.error.mismatchedPasswords" />'; + disabled = true; + } else if (disabled) { + $('readytip').innerHTML = '<s:text name="userRegister.tip.ready" />' + } else { + $('readytip').innerHTML = '<s:text name="userRegister.success.ready" />' + } + //$('submit').disabled = disabled; +} +//$('submit').disabled = true; +</script> + + Modified: roller/trunk/apps/weblogger/web/WEB-INF/security.xml URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/web/WEB-INF/security.xml?rev=695329&r1=695328&r2=695329&view=diff ============================================================================== --- roller/trunk/apps/weblogger/web/WEB-INF/security.xml (original) +++ roller/trunk/apps/weblogger/web/WEB-INF/security.xml Sun Sep 14 19:49:10 2008 @@ -19,9 +19,14 @@ <beans:beans xmlns="http://www.springframework.org/schema/security" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans" 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://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-2.0.1-openidfix.xsd"> - <http auto-config="true" lowercase-comparisons="true" access-decision-manager-ref="accessDecisionManager"> +<!-- + 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"/> <intercept-url pattern="/styles/**" filters="none"/> @@ -35,17 +40,44 @@ <!-- 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"/> + login-processing-url="/roller_j_security_check"/> <remember-me user-service-ref="rollerUserService" key="715F2448-3176-11DD-ABC6-9CD955D89593"/> - </http> + </http> + + + <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"/> + <beans:property name="exceptionMappings"> + <beans:props> + <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 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 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"> @@ -56,11 +88,10 @@ </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 ==================== --> @@ -70,14 +101,14 @@ <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"> @@ -88,13 +119,13 @@ <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"> @@ -103,7 +134,7 @@ <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"/> @@ -120,7 +151,7 @@ <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"/> Modified: roller/trunk/apps/weblogger/web/WEB-INF/web.xml URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/web/WEB-INF/web.xml?rev=695329&r1=695328&r2=695329&view=diff ============================================================================== --- roller/trunk/apps/weblogger/web/WEB-INF/web.xml (original) +++ roller/trunk/apps/weblogger/web/WEB-INF/web.xml Sun Sep 14 19:49:10 2008 @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> - + <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" @@ -116,7 +116,7 @@ <url-pattern>/roller-ui/rendering/trackback/*</url-pattern> <dispatcher>FORWARD</dispatcher> </filter-mapping> - + <!-- Scheme enforcement. Only here until we get Acegi scheme enforcement working --> <filter-mapping> <filter-name>SchemeEnforcementFilter</filter-name> @@ -189,7 +189,7 @@ <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> </filter-mapping> - + <!-- Context Listeners --> <listener> @@ -334,7 +334,7 @@ </init-param> </servlet> - + <!-- Rendering Servlets --> <servlet-mapping> <servlet-name>PageServlet</servlet-name> Added: roller/trunk/apps/weblogger/web/images/openid-logo-small.gif URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/web/images/openid-logo-small.gif?rev=695329&view=auto ============================================================================== Binary file - no diff available. Propchange: roller/trunk/apps/weblogger/web/images/openid-logo-small.gif ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Modified: roller/trunk/apps/weblogger/web/roller-ui/styles/roller.css URL: http://svn.apache.org/viewvc/roller/trunk/apps/weblogger/web/roller-ui/styles/roller.css?rev=695329&r1=695328&r2=695329&view=diff ============================================================================== --- roller/trunk/apps/weblogger/web/roller-ui/styles/roller.css (original) +++ roller/trunk/apps/weblogger/web/roller-ui/styles/roller.css Sun Sep 14 19:49:10 2008 @@ -261,6 +261,16 @@ padding: 8px 0px 10px 0px; } +input#f_openid_identifier { + background: url(../../images/openid-logo-small.gif) no-repeat scroll 0 50%; + padding-left:18px; +} + +input.f_openid_identifier { + background: url(../../images/openid-logo-small.gif) no-repeat scroll 0 50%; + padding-left:18px; +} + /* ---------------------------------------------------------------------- Table styles ---------------------------------------------------------------------- */ Added: roller/trunk/tools/spring-2.5/apache-xml-security.jar URL: http://svn.apache.org/viewvc/roller/trunk/tools/spring-2.5/apache-xml-security.jar?rev=695329&view=auto ============================================================================== Binary file - no diff available. Propchange: roller/trunk/tools/spring-2.5/apache-xml-security.jar ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: roller/trunk/tools/spring-2.5/dom3-xercesImpl.jar URL: http://svn.apache.org/viewvc/roller/trunk/tools/spring-2.5/dom3-xercesImpl.jar?rev=695329&view=auto ============================================================================== Binary file - no diff available. Propchange: roller/trunk/tools/spring-2.5/dom3-xercesImpl.jar ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: roller/trunk/tools/spring-2.5/dom3-xml-apis.jar URL: http://svn.apache.org/viewvc/roller/trunk/tools/spring-2.5/dom3-xml-apis.jar?rev=695329&view=auto ============================================================================== Binary file - no diff available. Propchange: roller/trunk/tools/spring-2.5/dom3-xml-apis.jar ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: roller/trunk/tools/spring-2.5/ehcache-1.4.1.jar URL: http://svn.apache.org/viewvc/roller/trunk/tools/spring-2.5/ehcache-1.4.1.jar?rev=695329&view=auto ============================================================================== Binary file - no diff available. Propchange: roller/trunk/tools/spring-2.5/ehcache-1.4.1.jar ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: roller/trunk/tools/spring-2.5/java-openid-sxip.jar URL: http://svn.apache.org/viewvc/roller/trunk/tools/spring-2.5/java-openid-sxip.jar?rev=695329&view=auto ============================================================================== Binary file - no diff available. Propchange: roller/trunk/tools/spring-2.5/java-openid-sxip.jar ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: roller/trunk/tools/spring-2.5/nekohtml.jar URL: http://svn.apache.org/viewvc/roller/trunk/tools/spring-2.5/nekohtml.jar?rev=695329&view=auto ============================================================================== Binary file - no diff available. Propchange: roller/trunk/tools/spring-2.5/nekohtml.jar ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: roller/trunk/tools/spring-2.5/openxri-client.jar URL: http://svn.apache.org/viewvc/roller/trunk/tools/spring-2.5/openxri-client.jar?rev=695329&view=auto ============================================================================== Binary file - no diff available. Propchange: roller/trunk/tools/spring-2.5/openxri-client.jar ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: roller/trunk/tools/spring-2.5/openxri-syntax.jar URL: http://svn.apache.org/viewvc/roller/trunk/tools/spring-2.5/openxri-syntax.jar?rev=695329&view=auto ============================================================================== Binary file - no diff available. Propchange: roller/trunk/tools/spring-2.5/openxri-syntax.jar ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: roller/trunk/tools/spring-2.5/spring-security-acl-2.0.3.jar URL: http://svn.apache.org/viewvc/roller/trunk/tools/spring-2.5/spring-security-acl-2.0.3.jar?rev=695329&view=auto ============================================================================== Binary file - no diff available. Propchange: roller/trunk/tools/spring-2.5/spring-security-acl-2.0.3.jar ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: roller/trunk/tools/spring-2.5/spring-security-core-2.0.3.jar URL: http://svn.apache.org/viewvc/roller/trunk/tools/spring-2.5/spring-security-core-2.0.3.jar?rev=695329&view=auto ============================================================================== Binary file - no diff available. Propchange: roller/trunk/tools/spring-2.5/spring-security-core-2.0.3.jar ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: roller/trunk/tools/spring-2.5/spring-security-openid-2.0.3.jar URL: http://svn.apache.org/viewvc/roller/trunk/tools/spring-2.5/spring-security-openid-2.0.3.jar?rev=695329&view=auto ============================================================================== Binary file - no diff available. Propchange: roller/trunk/tools/spring-2.5/spring-security-openid-2.0.3.jar ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream Added: roller/trunk/tools/spring-2.5/spring-security-taglibs-2.0.3.jar URL: http://svn.apache.org/viewvc/roller/trunk/tools/spring-2.5/spring-security-taglibs-2.0.3.jar?rev=695329&view=auto ============================================================================== Binary file - no diff available. Propchange: roller/trunk/tools/spring-2.5/spring-security-taglibs-2.0.3.jar ------------------------------------------------------------------------------ svn:mime-type = application/octet-stream
