User: oleg
Date: 01/01/09 17:24:11
Modified: src/main/org/jboss/security ClientLoginModule.java
Added: src/main/org/jboss/security EJBSecurityManager.java
RealmMapping.java SecurityAssociation.java
SimplePrincipal.java package.html
Removed: src/main/org/jboss/security CacheRealmMapping.java
CacheRealmMappingService.java
CacheRealmMappingServiceMBean.java
DatabaseRealmMapping.java
DatabaseRealmMappingService.java
DatabaseRealmMappingServiceMBean.java
DatabaseSecurityManagerService.java
DatabaseSecurityManagerServiceMBean.java
DatabaseServerLoginModule.java
EJBSecurityManagerDatabaseImpl.java
EJBSecurityManagerDefaultImpl.java
EJBSecurityManagerService.java
EJBSecurityManagerServiceMBean.java
JaasSecurityManager.java
JaasSecurityManagerService.java
JaasSecurityManagerServiceMBean.java
SimpleRealmMapping.java
SimpleRealmMappingService.java
SimpleRealmMappingServiceMBean.java
SimpleServerLoginModule.java
Log:
Package structure for security stuff improved.
Classes from "system" package moved to "security" package.
Added "security/plugins" and "security/plugins/samples" packages.
Added JaasServerLoginModule and AbstractServerLoginModule classes
by Edward Kenworthy <[EMAIL PROTECTED]>
(file based implementation for JAAS security).
Revision Changes Path
1.4 +0 -2 jboss/src/main/org/jboss/security/ClientLoginModule.java
Index: ClientLoginModule.java
===================================================================
RCS file:
/products/cvs/ejboss/jboss/src/main/org/jboss/security/ClientLoginModule.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ClientLoginModule.java 2000/12/07 15:45:11 1.3
+++ ClientLoginModule.java 2001/01/10 01:24:06 1.4
@@ -17,8 +17,6 @@
import javax.security.auth.callback.UnsupportedCallbackException;
import javax.security.auth.login.LoginException;
import javax.security.auth.spi.LoginModule;
-import org.jboss.system.SecurityAssociation;
-import org.jboss.system.SimplePrincipal;
public class ClientLoginModule implements LoginModule {
1.1 jboss/src/main/org/jboss/security/EJBSecurityManager.java
Index: EJBSecurityManager.java
===================================================================
/*
* JBoss, the OpenSource EJB server
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package org.jboss.security;
import java.io.File;
import java.net.URL;
import java.rmi.server.UnicastRemoteObject;
import java.rmi.RemoteException;
import java.rmi.ServerException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Hashtable;
import java.security.Principal;
import javax.naming.InitialContext;
import javax.naming.Context;
import javax.naming.Reference;
import javax.naming.Name;
import javax.naming.spi.ObjectFactory;
import javax.management.MBeanServer;
import javax.management.ObjectName;
import javax.transaction.TransactionManager;
import org.jboss.logging.Log;
import org.jboss.util.ServiceMBeanSupport;
/**
* The EJBSecurityManager is responsible for validating credentials
* associated with principals.
*
* @author Daniel O'Connor [EMAIL PROTECTED]
*/
public interface EJBSecurityManager
{
public boolean isValid( Principal principal, Object credential );
}
1.1 jboss/src/main/org/jboss/security/RealmMapping.java
Index: RealmMapping.java
===================================================================
/*
* JBoss, the OpenSource EJB server
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package org.jboss.security;
import java.security.Principal;
import java.util.Set;
public interface RealmMapping
{
/**
* This method should return Principal for the bean that may differ
* from the original Principal in the operational environment.
*/
public Principal getPrincipal( Principal principal );
/**
* This method checks if the given ("original") Principal has
* at least on of the roles in the given set.
*/
public boolean doesUserHaveRole( Principal principal, Set roleNames );
}
1.1 jboss/src/main/org/jboss/security/SecurityAssociation.java
Index: SecurityAssociation.java
===================================================================
/*
* JBoss, the OpenSource EJB server
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package org.jboss.security;
import java.security.Principal;
/**
* <description>
*
* @see <related>
* @author Daniel O'Connor ([EMAIL PROTECTED])
*/
public final class SecurityAssociation
{
private static boolean server;
private static Principal principal;
private static Object credential;
private static ThreadLocal thread_principal = new ThreadLocal();
private static ThreadLocal thread_credential = new ThreadLocal();
public static Principal getPrincipal()
{
if (server)
return (Principal) thread_principal.get();
else
return principal;
}
public static Object getCredential()
{
if (server)
return thread_credential.get();
else
return credential;
}
public static void setPrincipal( Principal principal )
{
if (server)
thread_principal.set( principal );
else
SecurityAssociation.principal = principal;
}
public static void setCredential( Object credential )
{
if (server)
thread_credential.set( credential );
else
SecurityAssociation.credential = credential;
}
public static void setServer()
{
server = true;
}
}
1.1 jboss/src/main/org/jboss/security/SimplePrincipal.java
Index: SimplePrincipal.java
===================================================================
/*
* JBoss, the OpenSource EJB server
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package org.jboss.security;
import java.security.Principal;
public class SimplePrincipal implements Principal, java.io.Serializable
{
private String name;
public SimplePrincipal(String name)
{
this.name = name;
}
public boolean equals(Object another)
{
if (name == null)
return (another == null);
if ((another == null) || !(another instanceof SimplePrincipal))
return false;
return name.equals( another.toString() );
}
public int hashCode() {
return (name == null ? 0 : name.hashCode());
}
public String toString()
{
return name;
}
public String getName()
{
return name;
}
}
1.1 jboss/src/main/org/jboss/security/package.html
Index: package.html
===================================================================
The basic security interfaces and classes.