edu.internet2.middleware.grouper.ws.security
Class WsGrouperKerberosAuthentication

java.lang.Object
  extended by edu.internet2.middleware.grouper.ws.security.WsGrouperKerberosAuthentication
All Implemented Interfaces:
WsCustomAuthentication

public class WsGrouperKerberosAuthentication
extends Object
implements WsCustomAuthentication

 basic kerberos authentication for grouper, settings are specified in grouper-ws.properties
 note: this can be used for rest and soap, though it is not a bastion of security:
  1. for soap, ws-security would be better since a ticket is passed instead of user/pass
  2. for rest, Im not sure there is another option
  3. the user/pass is transmitted in basic auth, so make sure SSL is on
  4. passing the user/pass is not how kerberos should work since kerberos passes tickets and not passes
  5. the user is authenticated to the kdc, but an ssl service is not invoked, which would be the next
  level of verification since it might be possible for the kdc to be spoofed to the grouper-ws
 
 


Constructor Summary
WsGrouperKerberosAuthentication()
           
 
Method Summary
static boolean authenticateKerberos(String principal, String password)
          see if a user and pass are correct with berberos
static void main(String[] args)
           
 String retrieveLoggedInSubjectId(HttpServletRequest httpServletRequest)
          retrieve the current username (subjectId) from the request object.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WsGrouperKerberosAuthentication

public WsGrouperKerberosAuthentication()
Method Detail

main

public static void main(String[] args)
                 throws Exception
Parameters:
args -
Throws:
Exception

retrieveLoggedInSubjectId

public String retrieveLoggedInSubjectId(HttpServletRequest httpServletRequest)
                                 throws RuntimeException
Description copied from interface: WsCustomAuthentication
retrieve the current username (subjectId) from the request object.

Specified by:
retrieveLoggedInSubjectId in interface WsCustomAuthentication
Returns:
the logged in username (subjectId)
Throws:
WsInvalidQueryException - if there is a problem
RuntimeException
See Also:
WsCustomAuthentication.retrieveLoggedInSubjectId(javax.servlet.http.HttpServletRequest)

authenticateKerberos

public static boolean authenticateKerberos(String principal,
                                           String password)
see if a user and pass are correct with berberos

Parameters:
principal -
password -
Returns:
true for ok, false for not