web2py:在注册时正确地将用户分配到组

时间:2014-10-03 00:19:46

标签: web2py

在我的应用中,我希望将用户分配到两个身份验证组之一,' 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可以看到它?

1 个答案:

答案 0 :(得分:0)

您是否尝试过request.controller ==' group1'或者request.controller ==' group2' ? http://www.web2py.com/books/default/chapter/29/04/the-core#Dispatching

相关问题