[jboss-cvs] JBossAS SVN: r73920 - projects/security/security-jboss-sx/trunk/jbosssx/src/main/org/jboss/security/plugins/auth.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Jun 2 09:28:43 EDT 2008
Author: anil.saldhana at jboss.com
Date: 2008-06-02 09:28:43 -0400 (Mon, 02 Jun 2008)
New Revision: 73920
Added:
projects/security/security-jboss-sx/trunk/jbosssx/src/main/org/jboss/security/plugins/auth/JASPIServerAuthenticationManager.java
Modified:
projects/security/security-jboss-sx/trunk/jbosssx/src/main/org/jboss/security/plugins/auth/JaasSecurityManagerBase.java
Log:
SECURITY-228: jsr-196 extraction
Added: projects/security/security-jboss-sx/trunk/jbosssx/src/main/org/jboss/security/plugins/auth/JASPIServerAuthenticationManager.java
===================================================================
--- projects/security/security-jboss-sx/trunk/jbosssx/src/main/org/jboss/security/plugins/auth/JASPIServerAuthenticationManager.java (rev 0)
+++ projects/security/security-jboss-sx/trunk/jbosssx/src/main/org/jboss/security/plugins/auth/JASPIServerAuthenticationManager.java 2008-06-02 13:28:43 UTC (rev 73920)
@@ -0,0 +1,88 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.security.plugins.auth;
+
+import java.util.HashMap;
+
+import javax.security.auth.Subject;
+import javax.security.auth.callback.CallbackHandler;
+import javax.security.auth.message.AuthException;
+import javax.security.auth.message.AuthStatus;
+import javax.security.auth.message.MessageInfo;
+import javax.security.auth.message.config.AuthConfigFactory;
+import javax.security.auth.message.config.AuthConfigProvider;
+import javax.security.auth.message.config.ServerAuthConfig;
+import javax.security.auth.message.config.ServerAuthContext;
+import javax.security.jacc.PolicyContext;
+
+import org.jboss.security.ServerAuthenticationManager;
+
+/**
+ * @author Anil.Saldhana at redhat.com
+ */
+public class JASPIServerAuthenticationManager
+extends JaasSecurityManagerBase implements ServerAuthenticationManager
+{
+ public JASPIServerAuthenticationManager()
+ {
+ super();
+ }
+
+ public JASPIServerAuthenticationManager(String securityDomain, CallbackHandler handler)
+ {
+ super(securityDomain, handler);
+ }
+
+ /**
+ * @see AuthenticationManager#isValid(MessageInfo, Subject, String, CallbackHandler)
+ */
+ @SuppressWarnings("unchecked")
+ public boolean isValid(MessageInfo requestMessage,Subject clientSubject, String layer,
+ CallbackHandler handler)
+ {
+ AuthStatus status = AuthStatus.FAILURE;
+
+ try
+ {
+ String contextID = PolicyContext.getContextID();
+ AuthConfigFactory factory = AuthConfigFactory.getFactory();
+ AuthConfigProvider provider = factory.getConfigProvider(layer,contextID,null);
+ if(provider == null)
+ throw new IllegalStateException("Provider is null for "+ layer + " for "+ contextID);
+
+ ServerAuthConfig serverConfig = provider.getServerAuthConfig(layer,contextID,handler);
+ ServerAuthContext sctx = serverConfig.getAuthContext(contextID,
+ new Subject(), new HashMap());
+ if(clientSubject == null)
+ clientSubject = new Subject();
+ Subject serviceSubject = new Subject();
+ status = sctx.validateRequest(requestMessage, clientSubject, serviceSubject);
+ //TODO: Add caching
+ }
+ catch(AuthException ae)
+ {
+ log.trace("AuthException:",ae);
+ }
+ return AuthStatus.SUCCESS == status ;
+ }
+
+}
\ No newline at end of file
Modified: projects/security/security-jboss-sx/trunk/jbosssx/src/main/org/jboss/security/plugins/auth/JaasSecurityManagerBase.java
===================================================================
--- projects/security/security-jboss-sx/trunk/jbosssx/src/main/org/jboss/security/plugins/auth/JaasSecurityManagerBase.java 2008-06-02 13:27:47 UTC (rev 73919)
+++ projects/security/security-jboss-sx/trunk/jbosssx/src/main/org/jboss/security/plugins/auth/JaasSecurityManagerBase.java 2008-06-02 13:28:43 UTC (rev 73920)
@@ -27,7 +27,6 @@
import java.security.acl.Group;
import java.util.Arrays;
import java.util.Enumeration;
-import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
@@ -36,14 +35,6 @@
import javax.security.auth.callback.CallbackHandler;
import javax.security.auth.login.LoginContext;
import javax.security.auth.login.LoginException;
-import javax.security.auth.message.AuthException;
-import javax.security.auth.message.AuthStatus;
-import javax.security.auth.message.MessageInfo;
-import javax.security.auth.message.config.AuthConfigFactory;
-import javax.security.auth.message.config.AuthConfigProvider;
-import javax.security.auth.message.config.ServerAuthConfig;
-import javax.security.auth.message.config.ServerAuthContext;
-import javax.security.jacc.PolicyContext;
import org.jboss.logging.Logger;
import org.jboss.security.AuthenticationManager;
@@ -54,7 +45,6 @@
import org.jboss.security.SecurityContextAssociation;
import org.jboss.security.SecurityUtil;
import org.jboss.security.SubjectSecurityManager;
-import org.jboss.security.auth.callback.AppCallbackHandler;
import org.jboss.security.auth.callback.SecurityAssociationHandler;
import org.jboss.util.CachePolicy;
import org.jboss.util.TimedCachePolicy;
@@ -366,49 +356,8 @@
if( trace )
log.trace("End isValid, "+isValid);
return isValid;
- }
-
- /**
- * @see AuthenticationManager#isValid(MessageInfo, Subject, String)
- */
- public boolean isValid(MessageInfo requestMessage,Subject clientSubject, String layer)
- {
- CallbackHandler cbh = new AppCallbackHandler("DUMMY","DUMMY".toCharArray());
- return this.isValid(requestMessage, clientSubject, layer, cbh);
- }
+ }
- /**
- * @see AuthenticationManager#isValid(MessageInfo, Subject, String, CallbackHandler)
- */
- @SuppressWarnings("unchecked")
- public boolean isValid(MessageInfo requestMessage,Subject clientSubject, String layer,
- CallbackHandler handler)
- {
- AuthStatus status = AuthStatus.FAILURE;
-
- try
- {
- String contextID = PolicyContext.getContextID();
- AuthConfigFactory factory = AuthConfigFactory.getFactory();
- AuthConfigProvider provider = factory.getConfigProvider(layer,contextID,null);
- if(provider == null)
- throw new IllegalStateException("Provider is null for "+ layer + " for "+ contextID);
-
- ServerAuthConfig serverConfig = provider.getServerAuthConfig(layer,contextID,handler);
- ServerAuthContext sctx = serverConfig.getAuthContext(contextID,
- new Subject(), new HashMap());
- if(clientSubject == null)
- clientSubject = new Subject();
- Subject serviceSubject = new Subject();
- status = sctx.validateRequest(requestMessage, clientSubject, serviceSubject);
- //TODO: Add caching
- }
- catch(AuthException ae)
- {
- log.trace("AuthException:",ae);
- }
- return AuthStatus.SUCCESS == status ;
- }
/** Map the argument principal from the deployment environment principal
to the developer environment. This is called by the EJB context
More information about the jboss-cvs-commits
mailing list