Thank you. It worked! :)
2017-06-09 19:58 GMT-03:00 Anthony <[email protected]>: > You need to specify the controller when initializing Auth: > > Auth_phanterimages = Auth(db_phanterimages, controller='phanterimages', > host_names=myconf.get('host.names')) > > If you do that, you also don't have to bother with all of those URL > settings, as they will automatically be constructed properly based on the > new controller. Note, you can also specify a custom function via the > "function" argument. > > Anthony > > > On Friday, June 9, 2017 at 4:22:46 PM UTC-4, Junior Phanter wrote: >> >> Sorry my bad english. >> >> Guys, I need to change the login functions ("default/user") to another >> controller "phanterimages". I did: >> >> >> on model: >> >> import os >> >> myconf_phanterimages = AppConfig(reload=True) >> db_phanterimages = DAL(myconf_phanterimages.get('db_phanterimages.uri'), >> pool_size=myconf.get('db_phanterimages.pool_size'), >> migrate_enabled=myconf.get('db_phanterimages.migrate'), >> check_reserved=['all']) >> >> Auth_phanterimages = Auth(db_phanterimages, host_names=myconf.get(' >> host.names')) >> >> Auth_phanterimages.define_tables(username=False, signature=False) >> Auth_phanterimages.settings.login_url = URL('phanterimages', 'user', >> args='login') >> Auth_phanterimages.settings.logged_url = URL('phanterimages', 'user', >> args='profile') >> Auth_phanterimages.settings.login_next = URL('phanterimages', 'index') >> Auth_phanterimages.settings.logout_next = URL('phanterimages', 'index') >> Auth_phanterimages.settings.profile_next = URL('phanterimages', 'index') >> Auth_phanterimages.settings.register_next = URL('phanterimages', 'user', >> args='login') >> Auth_phanterimages.settings.retrieve_username_next = >> URL('phanterimages', 'index') >> Auth_phanterimages.settings.retrieve_password_next = >> URL('phanterimages', 'index') >> Auth_phanterimages.settings.change_password_next = URL('phanterimages', >> 'index') >> Auth_phanterimages.settings.request_reset_password_next = >> URL('phanterimages', 'user', args='login') >> Auth_phanterimages.settings.reset_password_next = URL('phanterimages', >> 'user', args='login') >> Auth_phanterimages.settings.verify_email_next = URL('phanterimages', >> 'user', args='login') >> >> on controller: >> >> @Auth_phanterimages.requires_login() >> def index(): >> """um monte de código""" >> return locals() >> >> >> def user(): >> """ >> exposes: >> http://..../[app]/default/user/login >> http://..../[app]/default/user/logout >> http://..../[app]/default/user/register >> http://..../[app]/default/user/profile >> http://..../[app]/default/user/retrieve_password >> http://..../[app]/default/user/change_password >> http://..../[app]/default/user/bulk_register >> use @auth.requires_login() >> @auth.requires_membership('group name') >> @auth.requires_permission('read','table name',record_id) >> to decorate functions that need access control >> also notice there is http://..../[app]/appadmin/manage/auth to allow >> administrator to manage users >> """ >> return dict(form=Auth_phanterimages()) >> >> When I log in, everything is fine, when I log out, too ... everything is >> working in compliance, the problem is when the login fails (wrong password). >> It >> is redirected to the controller "default" ("it was in 'phanterimages / >> user'."). >> Temporarily, until I found another solution. I modified the gluon >> tools.py file and left it in red: >> >> if not user: >> self.log_event(self.messages['login_failed_log'], >> request.post_vars) >> # invalid login >> session.flash = self.messages.invalid_login >> #aqui é mensagem do request.flash >> callback(onfail, None) >> redirect(URL(request.controller, >> request.function, args=request.args, vars=request.get_vars), >> client_side=settings.client_side) >> >> Before it was like this: >> >> redirect(self.url(args=request.args, >> vars=request.get_vars), client_side=settings.client_side) >> >> Solved my problem, but wanted to know if it's a bug or am I doing >> something wrong? I searched the internet and found only one user with >> the same problem in an old post, but the solution that advised him was to >> go back to the default controller and closed the subject. Someone has a >> friendlier solution without tampering with gluon source code. >> > -- > Resources: > - http://web2py.com > - http://web2py.com/book (Documentation) > - http://github.com/web2py/web2py (Source code) > - https://code.google.com/p/web2py/issues/list (Report Issues) > --- > You received this message because you are subscribed to the Google Groups > "web2py-users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.

