1.2.7 Automatically Handling Sign In Attempts

Sign in attempts can be automatically handled using the web.auth module's handlers. The SignInHandler object takes two parameters, session and manager which should be valid AuthSession and AuthManager objects respectively.

The SignInHandler object has one method handle() which returns a form if there is a problem or None if the user has been signed in. The SignInHandler object has one attribute, status which is a constant specifying the current sign in status.

Here is an example.

# Try to login
import web.auth.handler.signIn
signInHandler = web.auth.handler.signIn.SignInHandler(
    session = authSession, 
    manager = authManager,
)
form = signInHandler.handle()
if form:  
    # Display the error form
    print '<html><body><h1>Please Sign In</h1>%s<p>%s</p></body></html>'%form
else:
    # We have just signed in
    print 'Signed in successfully'