Authentication Web2py,验证两种类型的配置文件
在一个应用程序中,我需要创建两种类型的帐户,比如说用户和导师。 他们每个人都应该能够注册/登录/。。。数据库中不同表定义的用户/导师帐户 e、 gAuthentication Web2py,验证两种类型的配置文件,authentication,web2py,Authentication,Web2py,在一个应用程序中,我需要创建两种类型的帐户,比如说用户和导师。 他们每个人都应该能够注册/登录/。。。数据库中不同表定义的用户/导师帐户 e、 g [app]/user/register应提供包含以下字段的表单:用户名、电子邮件、密码、爱好 [app]/tutor/register应提供一份包含以下字段的表单:用户名、电子邮件、通行证、姓名、姓氏、电话 Web2py auth服务允许使用可自定义的auth\u用户表。是否有一种方法可以根据控制器在一个应用程序中分别使用两个表 字段auth.set
[app]/user/register
应提供包含以下字段的表单:用户名、电子邮件、密码、爱好
[app]/tutor/register
应提供一份包含以下字段的表单:用户名、电子邮件、通行证、姓名、姓氏、电话
Web2py auth服务允许使用可自定义的auth\u用户
表。是否有一种方法可以根据控制器在一个应用程序中分别使用两个表
字段
auth.settings.table\u user
包含auth\u table的参考,但我可能不应该将其用于此目的。auth系统不是设计为以这种方式工作的。相反,最好将两种用户类型的所有字段都放在单个auth_user
表中,然后根据上下文有选择地将字段的可读和可写属性设置为True
或False
在定义身份验证的模型文件中:
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)
在管理身份验证功能的控制器中:
def user():
if request.args(0) in ['register', 'profile']:
hidden_fields = (user_extra_fields if request.args(1) == 'tutor'
else tutor_extra_fields)
for field in hidden_fields:
field.readable = field.writable = False
return dict(form=auth())
Auth系统不是设计成这样工作的。相反,最好将两种用户类型的所有字段都放在单个auth_user
表中,然后根据上下文有选择地将字段的可读和可写属性设置为True
或False
在定义身份验证的模型文件中:
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)
在管理身份验证功能的控制器中:
def user():
if request.args(0) in ['register', 'profile']:
hidden_fields = (user_extra_fields if request.args(1) == 'tutor'
else tutor_extra_fields)
for field in hidden_fields:
field.readable = field.writable = False
return dict(form=auth())