在我的应用中,我希望将用户分配到两个身份验证组之一,' authgroup1'和' authgroup2',取决于他们如何注册。我们假设我有两个控制器,分别叫做' group1'和' group2',他们看起来像这样:
group1.py: @auth.requires_login() def index(): ... group2.py: @auth.requires_login() def index(): ...
基本上我想要发生的是,如果用户转到group1 / index.html并从那里注册,他会被分配到' authgroup1',如果他去了group2 / index.html并且必须注册,他被分配到' authgroup2'。
我希望通过添加注册回调来做到这一点:
db.py: ... def assignGroup(form): if we got here from group1: auth.add_membership(authgroup1_id, auth.user_id) else: auth.add_membership(authgroup2_id, auth.user_id) auth.settings.register_onaccept.append(assignGroup)
问题是,在assignGroup()中,如何测试哪个控制器(group1或group2)让我们在这里?控制器是否可以在某处设置变量,以便db.py可以看到它?
答案 0 :(得分:0)
您是否尝试过request.controller ==' group1'或者request.controller ==' group2' ? http://www.web2py.com/books/default/chapter/29/04/the-core#Dispatching