org.jboss.jms.server
Interface SecurityStore

All Known Implementing Classes:
SecurityMetadataStore

public interface SecurityStore

Version:
$Revision: 3598 $ $Id: SecurityStore.java 3598 2008-01-21 07:41:52Z scott.stark@jboss.org $
Author:
Ovidiu Feodorov

Field Summary
static java.lang.String SUCKER_USER
          The special user used for internal connections that suck messages between nodes
 
Method Summary
 javax.security.auth.Subject authenticate(java.lang.String user, java.lang.String password)
          Authenticate the specified user with the given password.
 boolean authorize(java.lang.String user, java.util.Set rolePrincipals, CheckType checkType)
          Authorize that the subject has at least one of the specified roles.
 void clearSecurityConfig(boolean isQueue, java.lang.String name)
           
 SecurityMetadata getSecurityMetadata(boolean isQueue, java.lang.String destName)
           
 void setSecurityConfig(boolean isQueue, java.lang.String destName, org.w3c.dom.Element conf)
           
 

Field Detail

SUCKER_USER

static final java.lang.String SUCKER_USER
The special user used for internal connections that suck messages between nodes

See Also:
Constant Field Values
Method Detail

getSecurityMetadata

SecurityMetadata getSecurityMetadata(boolean isQueue,
                                     java.lang.String destName)
Returns:
the security meta-data for the given destination.

setSecurityConfig

void setSecurityConfig(boolean isQueue,
                       java.lang.String destName,
                       org.w3c.dom.Element conf)
                       throws java.lang.Exception
Throws:
java.lang.Exception

clearSecurityConfig

void clearSecurityConfig(boolean isQueue,
                         java.lang.String name)
                         throws java.lang.Exception
Throws:
java.lang.Exception

authenticate

javax.security.auth.Subject authenticate(java.lang.String user,
                                         java.lang.String password)
                                         throws JMSSecurityException
Authenticate the specified user with the given password. Implementations are most likely to delegates to a JBoss AuthenticationManager. Successful authentication will place a new SubjectContext on thread local, which will be used in the authorization process. However, we need to make sure we clean up thread local immediately after we used the information, otherwise some other people security my be screwed up, on account of thread local security stack being corrupted.

Throws:
JMSSecurityException - if the user is not authenticated

authorize

boolean authorize(java.lang.String user,
                  java.util.Set rolePrincipals,
                  CheckType checkType)
Authorize that the subject has at least one of the specified roles. Implementations are most likely to delegates to a JBoss AuthenticationManager.

Parameters:
rolePrincipals - - The set of roles allowed to read/write/create the destination.
Returns:
true if the subject is authorized, or false if not.


Copyright © 2006 JBoss Inc. All Rights Reserved.