1 17 18 package org.sape.carbon.services.security.auth.weblogic7; 19 20 import java.security.Principal ; 21 import java.security.acl.Group ; 22 import java.util.Iterator ; 23 import java.util.Set ; 24 25 import javax.security.auth.login.LoginException ; 26 27 import org.sape.carbon.core.exception.ExceptionUtility; 28 29 import org.sape.carbon.services.security.auth.jaas.JaasCarbonLoginModule; 30 import org.sape.carbon.services.security.management.SecurityManagementDataStoreException; 31 import org.sape.carbon.services.security.management.UnknownPrincipalException; 32 33 import weblogic.security.principal.WLSGroupImpl; 34 import weblogic.security.principal.WLSUserImpl; 35 36 52 public class WeblogicJaasCarbonLoginModule extends JaasCarbonLoginModule { 53 61 protected void addMainPrincipal(String username) throws LoginException { 62 try { 63 WLSUserImpl user = 64 new WLSUserImpl(userManager.retreiveUser(username).getName()); 65 66 principalsForSubject.add(user); 67 } catch (SecurityManagementDataStoreException smdse) { 68 throw new LoginException ( 69 "Caught SecurityManagementDataStoreException retrieving user: " + 70 ExceptionUtility.printStackTracesToString(smdse)); 71 } 72 } 73 74 86 protected void addContainingGroups(String username) 87 throws LoginException { 88 89 try { 90 Principal user = userManager.retreiveUser(username); 91 92 Set groups = userManager.retreiveGroups(user); 93 Iterator groupsIterator = groups.iterator(); 94 95 while (groupsIterator.hasNext()) { 96 Group nextGroup = (Group ) groupsIterator.next(); 97 principalsForSubject.add( 98 new WLSGroupImpl(nextGroup.getName())); 99 } 100 } catch (SecurityManagementDataStoreException smdse) { 101 throw new LoginException ( 102 "Caught SecurityManagementDataStoreException retrieving user or groups: " + 103 ExceptionUtility.printStackTracesToString(smdse)); 104 } catch (UnknownPrincipalException e) { 105 throw new LoginException ("No CallbackHandler Specified"); 106 } 107 } 108 } 109 | Popular Tags |