Web2py,验证两种类型的配置文件

时间:2013-06-29 13:00:45

标签: authentication web2py

在一个应用程序中,我需要创建两种类型的帐户,比方说用户和导师。 他们每个人都应该能够注册/登录/ ...由db。中的不同表定义的用户/教师帐户。

e.g。

[app]/user/register应提供包含字段的表单:username, email, password, hobby [app]/tutor/register应提供包含字段的表单:username, email, pass, name, surname, telephone

Web2py身份验证服务允许使用可以自定义的auth_user表。有没有办法在一个应用程序中根据控制器单独使用两个表?

字段auth.settings.table_user包含auth_table的引用,但我可能不应该将其用于此目的。

1 个答案:

答案 0 :(得分:1)

Auth系统并未设计为以这种方式工作。相反,最好将两个用户类型的所有字段放在单个auth_user表中,然后有选择地将字段的readablewritable属性设置为{{1} }或True取决于上下文。

在定义Auth:

的模型文件中
False

在管理Auth功能的控制器中:

user_extra_fields = [Field('hobby'), ...]
tutor_extra_fields = [Field('telephone', ...]

auth.settings.extra_fields['auth_user'] = (
    [Field('user_type', requires=IS_IN_SET(['User', 'Tutor']))] +
    user_extra_fields + tutor_extra_fields)