adc         2004/07/30 16:40:12

  Modified:    modules/security/src/java/org/apache/geronimo/security
                        ContextManager.java
  Log:
  return only a IdentificationPrincipal
  
  Revision  Changes    Path
  1.9       +6 -24     
incubator-geronimo/modules/security/src/java/org/apache/geronimo/security/ContextManager.java
  
  Index: ContextManager.java
  ===================================================================
  RCS file: 
/home/cvs/incubator-geronimo/modules/security/src/java/org/apache/geronimo/security/ContextManager.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- ContextManager.java       29 Jul 2004 20:54:43 -0000      1.8
  +++ ContextManager.java       30 Jul 2004 23:40:12 -0000      1.9
  @@ -254,18 +254,9 @@
        * with the thread's call stack.  It is this Subject that will be used 
for
        * authentication checks.
        * <p/>
  -     * It will first attempt to return a 
<code>IdentificationPrincipal</code>.
  -     * This kind of principal is inserted into a subject if one uses one of
  -     * the Geronimo LoginModules.  It is a secure id that identifies the 
Subject.
  -     * <p/>
  -     * If there is no <code>IdentificationPrincipal</code>, it will attempt 
to
  -     * return an instance <code>PrimaryRealmPrincipal</code>.
  -     * <p/>
  -     * If there is no <code>PrimaryRealmPrincipal</code>, it will attempt to
  -     * return an instance <code>RealmPrincipal</code>.
  -     * <p/>
  -     * If there is no <code>RealmPrincipal</code>, it will attempt to
  -     * return an instance <code>Principal</code>.
  +     * Return a <code>IdentificationPrincipal</code>.  This kind of principal
  +     * is inserted into a subject if one uses one of the Geronimo 
LoginModules.
  +     * It is a secure id that identifies the Subject.
        *
        * @return the principal that identifies the Subject of this thread.
        * @see Subject#doAs(javax.security.auth.Subject, 
java.security.PrivilegedAction)
  @@ -273,23 +264,14 @@
        * @see Subject#doAsPrivileged(javax.security.auth.Subject, 
java.security.PrivilegedAction, java.security.AccessControlContext)
        * @see Subject#doAsPrivileged(javax.security.auth.Subject, 
java.security.PrivilegedExceptionAction, java.security.AccessControlContext)
        */
  -    public static Principal getThreadPrincipal() {
  +    public static IdentificationPrincipal getThreadPrincipal() {
           SecurityManager sm = System.getSecurityManager();
           if (sm != null) sm.checkPermission(GET_CONTEXT);
   
           Subject subject = Subject.getSubject(AccessController.getContext());
           if (subject != null) {
               Set set = subject.getPrincipals(IdentificationPrincipal.class);
  -            if (!set.isEmpty()) return (Principal) set.iterator().next();
  -
  -            set = subject.getPrincipals(PrimaryRealmPrincipal.class);
  -            if (!set.isEmpty()) return (Principal) set.iterator().next();
  -
  -            set = subject.getPrincipals(RealmPrincipal.class);
  -            if (!set.isEmpty()) return (Principal) set.iterator().next();
  -
  -            set = subject.getPrincipals();
  -            if (!set.isEmpty()) return (Principal) set.iterator().next();
  +            if (!set.isEmpty()) return (IdentificationPrincipal) 
set.iterator().next();
           }
           return null;
       }
  
  
  

Reply via email to