impostor
Interface UserManager

All Known Implementing Classes:
EmptyManager, SimpleUserManager

public interface UserManager

This interface defines the methods that a class must implement in order to provide the functionality of mapping a given Impostor user to its username/password pairs he/she maintains at the websites for which Single Sign-On is to be achieved. A UserManager implementation works very close with a RequestRecognizer implementation: the RequestRecognizer recognizes HTTP requests as login attemps into a specific set of websites, while the UserManager knows all Impostor users' usernames and passwords for exactly this set of websites. A UserManager implementation must also offer a method to create instances of the RequestRecognizer implementation this UserManager works with.


Method Summary
 java.lang.String getPasswordForIdentifier(java.lang.Object identifier, RequestRecognizer rr)
          The Impostor daemon calls this method in order to determine the password that the Impostor user identified by the given identifier maintains at the website for which the given RequestRecognizer recognized a login request.
 RequestRecognizer getRequestRecognizerInstance()
          A UserManager implementation has to work very close with a RequestRecognizer implementation: the UserManager implementation knows the usernames and passwords of Impostor users at a specific set of websites, while the RequestRecognizer implementation recognizes HTTP login requests for exactly this set of websites.
 java.lang.String getUsernameForIdentifier(java.lang.Object identifier, RequestRecognizer rr)
          The Impostor daemon calls this method in order to determine the username that the Impostor user identified by the given identifier maintains at the website for which the given RequestRecognizer recognized a login request.
 

Method Detail

getUsernameForIdentifier

public java.lang.String getUsernameForIdentifier(java.lang.Object identifier,
                                                 RequestRecognizer rr)
                                          throws java.lang.Exception
The Impostor daemon calls this method in order to determine the username that the Impostor user identified by the given identifier maintains at the website for which the given RequestRecognizer recognized a login request. The identifier is a String object, obtained from the user input from the Impostor login page, and the RequestRecognizer is the RequestRecognizer instance that recognized the HTTP request as a login request into a website.
Note that before calling this method the Impostor daemon checks the validity of the user identifier using the isValid method of the ChallengeResponseManager implementation with which the daemon was instantiated Thus, a UserManager and a ChallengeResponseManager have common user identifiers: the identifiers of Impostor users.

java.lang.Exception

getPasswordForIdentifier

public java.lang.String getPasswordForIdentifier(java.lang.Object identifier,
                                                 RequestRecognizer rr)
                                          throws java.lang.Exception
The Impostor daemon calls this method in order to determine the password that the Impostor user identified by the given identifier maintains at the website for which the given RequestRecognizer recognized a login request. The identifier is a String object, obtained from the user input from the Impostor login page, and the RequestRecognizer is a RequestRecognizer implementation previously obtained using the getRequestRecognizerInstance method.

java.lang.Exception

getRequestRecognizerInstance

public RequestRecognizer getRequestRecognizerInstance()
A UserManager implementation has to work very close with a RequestRecognizer implementation: the UserManager implementation knows the usernames and passwords of Impostor users at a specific set of websites, while the RequestRecognizer implementation recognizes HTTP login requests for exactly this set of websites. This method should return a new RequestRecognizer instance of the RequestRecognizer this UserManager implementation works with. The Impostor daemon calls this method for every incoming HTTP request, as it needs a fresh RequestRecognizer.
Note that before calling this method the Impostor daemon checks the validity of the user identifier using the isValid method of the ChallengeResponseManager implementation with which the Impostor was instantiated. Thus, a UserManager and a ChallengeResponseManager have common user identifiers: the identifiers of Impostor users.