While subclassing Auth to override retrieve_username, I needed to create a link to retrieve_username and also to login. The solution I found was the following:
>>> URL('user') '/ssam/default/user' >>> URL('user') + '/retrieve_username' '/ssam/default/user/retrieve_username' >>> URL('user') + '/login' '/ssam/default/user/login' We create a URL to the user function in our controller, then add the Auth function name we want. The interesting thing I just realized is we can modify the user function to do things based on which Auth function is requested by using request.args. I wanted to set the username in the login form. While I don't see a way to do that without overriding login in Auth (which I don't want to do), I decided setting response.flash would suffice. So now I have the following: def user(): if request.args[0] == 'login': if request.vars.username: response.flash = request.vars.username return dict(form=auth()) Just thought I would share. Carlos