Changeset 7619 for trunk/projects


Ignore:
Timestamp:
02/17/11 15:01:49 (9 years ago)
Author:
hanly
Message:

Added the source code for the kerberos login module.

Location:
trunk/projects/wiscscan-utils/src/main/java/loci/wiscscan/utils
Files:
2 added
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/projects/wiscscan-utils/src/main/java/loci/wiscscan/utils/KerberosAuth.java

    r7618 r7619  
    3535package loci.wiscscan.utils; 
    3636 
     37import javax.security.auth.login.LoginContext; 
     38import javax.security.auth.login.LoginException; 
     39 
    3740/** 
    3841 * Code to manage kerberos user authentication in WiscScan. 
     
    4447 * @author Hanly De Los Santos 
    4548 */ 
    46 public class KerberosAuth { } 
     49public class KerberosAuth {  
     50         
     51        /** 
     52         * Attempts to log-in with the specified username and password. 
     53         *  
     54         * @return true if successfully logged in. 
     55         * @return false if unable to log in. 
     56         */ 
     57        public static boolean tryLogin(String username, String password) { 
     58                boolean returnValue = true; 
     59                 
     60                // Create the credentials file 
     61                Credentials credentials = new Credentials(); 
     62                credentials.setM_username(username]); 
     63                credentials.setM_password(password); 
     64 
     65                LoginContext lc = null; 
     66                try  
     67                { 
     68                        lc = new LoginContext("WiscScanLogin", new AutoLoginHandler(credentials)); 
     69                } catch (LoginException le)  
     70                { 
     71                        System.err.println("Cannot create LoginContext. " + le.getMessage()); 
     72                        returnValue = false; 
     73                } catch (SecurityException se)  
     74                { 
     75                        System.err.println("Cannot create LoginContext. " + se.getMessage()); 
     76                        returnValue = false; 
     77                }  
     78 
     79                try  
     80                { 
     81                        // attempt authentication 
     82                        lc.login(); 
     83                } catch (LoginException le)  
     84                { 
     85                    System.err.println("Authentication failed:"); 
     86                    System.err.println("  " + le.getMessage()); 
     87                        returnValue = false; 
     88                } 
     89 
     90                return returnValue; 
     91    } 
     92         
     93} 
Note: See TracChangeset for help on using the changeset viewer.