|
@@ -21,6 +21,8 @@ import org.springframework.security.AuthenticationServiceException;
|
|
|
import org.springframework.security.context.SecurityContextHolder;
|
|
|
import org.springframework.security.providers.openid.OpenIDAuthenticationToken;
|
|
|
import org.springframework.security.ui.AbstractProcessingFilter;
|
|
|
+import org.springframework.security.ui.FilterChainOrder;
|
|
|
+import org.springframework.security.ui.openid.consumers.OpenId4JavaConsumer;
|
|
|
import org.springframework.security.ui.webapp.AuthenticationProcessingFilter;
|
|
|
import org.apache.commons.logging.Log;
|
|
|
import org.apache.commons.logging.LogFactory;
|
|
@@ -32,10 +34,10 @@ import java.io.IOException;
|
|
|
|
|
|
|
|
|
/**
|
|
|
- * DOCUMENT ME!
|
|
|
*
|
|
|
- * @author $author$
|
|
|
- * @version $Revision$
|
|
|
+ * @author Ray Krueger
|
|
|
+ * @version $Id$
|
|
|
+ * @since 2.0
|
|
|
*/
|
|
|
public class OpenIdAuthenticationProcessingFilter extends AbstractProcessingFilter {
|
|
|
//~ Static fields/initializers =====================================================================================
|
|
@@ -47,12 +49,17 @@ public class OpenIdAuthenticationProcessingFilter extends AbstractProcessingFilt
|
|
|
|
|
|
private OpenIDConsumer consumer;
|
|
|
private String claimedIdentityFieldName = DEFAULT_CLAIMED_IDENTITY_FIELD;
|
|
|
- private String errorPage = "index.jsp";
|
|
|
|
|
|
//~ Methods ========================================================================================================
|
|
|
|
|
|
- public Authentication attemptAuthentication(HttpServletRequest req)
|
|
|
- throws AuthenticationException {
|
|
|
+ public void afterPropertiesSet() throws Exception {
|
|
|
+ super.afterPropertiesSet();
|
|
|
+ if (consumer == null) {
|
|
|
+ consumer = new OpenId4JavaConsumer();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public Authentication attemptAuthentication(HttpServletRequest req) throws AuthenticationException {
|
|
|
OpenIDAuthenticationToken token;
|
|
|
|
|
|
String identity = req.getParameter("openid.identity");
|
|
@@ -112,10 +119,6 @@ public class OpenIdAuthenticationProcessingFilter extends AbstractProcessingFilt
|
|
|
return "/j_spring_openid_security_check";
|
|
|
}
|
|
|
|
|
|
- public String getErrorPage() {
|
|
|
- return errorPage;
|
|
|
- }
|
|
|
-
|
|
|
protected boolean isAuthenticated(HttpServletRequest request) {
|
|
|
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
|
|
|
|
|
@@ -156,10 +159,6 @@ public class OpenIdAuthenticationProcessingFilter extends AbstractProcessingFilt
|
|
|
this.consumer = consumer;
|
|
|
}
|
|
|
|
|
|
- public void setErrorPage(String errorPage) {
|
|
|
- this.errorPage = errorPage;
|
|
|
- }
|
|
|
-
|
|
|
protected void unsuccessfulAuthentication(HttpServletRequest request, HttpServletResponse response,
|
|
|
AuthenticationException failed) throws IOException {
|
|
|
SecurityContextHolder.getContext().setAuthentication(null);
|
|
@@ -185,6 +184,6 @@ public class OpenIdAuthenticationProcessingFilter extends AbstractProcessingFilt
|
|
|
}
|
|
|
|
|
|
public int getOrder() {
|
|
|
- throw new UnsupportedOperationException();
|
|
|
+ return FilterChainOrder.AUTHENTICATION_PROCESSING_FILTER;
|
|
|
}
|
|
|
}
|