1 23 24 package com.sun.enterprise.security.auth.login; 25 26 import java.util.*; 27 28 import java.util.logging.Logger ; 29 import java.util.logging.Level ; 30 import com.sun.logging.LogDomains; 31 32 import javax.security.auth.*; 33 import javax.security.auth.callback.*; 34 import javax.security.auth.login.*; 35 import javax.security.auth.spi.*; 36 37 import com.sun.enterprise.security.auth.realm.solaris.SolarisRealm; 38 39 import com.sun.enterprise.security.auth.Privilege; 41 import com.sun.enterprise.security.auth.PrivilegeImpl; 42 43 import com.sun.enterprise.security.auth.realm.Realm; 44 import com.sun.enterprise.security.auth.login.PasswordCredential; 45 import javax.security.auth.login.LoginException ; 46 47 57 public class SolarisLoginModule extends PasswordLoginModule 58 { 59 60 66 protected void authenticate() 67 throws LoginException 68 { 69 if (!(_currentRealm instanceof SolarisRealm)) { 70 String msg = sm.getString("solarislm.badrealm"); 71 throw new LoginException (msg); 72 } 73 74 SolarisRealm solarisRealm = (SolarisRealm)_currentRealm; 75 76 if ( (_username == null) || (_username.length() == 0) ) { 78 String msg = sm.getString("solarislm.nulluser"); 79 throw new LoginException (msg); 80 } 81 82 String [] grpList = solarisRealm.authenticate(_username, _password); 83 84 if (grpList == null) { String msg = sm.getString("solarislm.loginfail", _username); 86 throw new LoginException (msg); 87 } 88 89 _logger.finest("Solaris login succeeded for: " + _username); 90 91 String [] groupListToForward = new String [grpList.length]; 95 for (int i = 0; i< grpList.length; i++){ 96 groupListToForward[i] = grpList[i]; 97 } 98 99 commitAuthentication(_username, _password, 100 _currentRealm, groupListToForward); 101 solarisRealm.setGroupNames(_username, groupListToForward); 102 } 103 104 } 105 | Popular Tags |