Web2py管理用户注册密钥挂起状态

时间:2015-09-06 22:20:34

标签: authentication web2py

我正在为客户端托管web2py,并且不想发布web2py管理员访问权限。 web2py中运行了多个应用程序。所有这些都需要批准注册用户帐户。我想有一个控件,允许应用程序管理员打开一个带有挂起注册密钥的记录表。唯一需要的功能是从注册密钥中删除待处理状态。在appadmin控件之外,这几乎是不可能的。

1 个答案:

答案 0 :(得分:0)

Auth表只是标准数据库表,因此可以像任何其他表一样进行访问和编辑。没有必要特别使用appadmin来执行此任务。您至少有三个选择:

  1. 使用内置Application Management functionality。如果要限制哪些auth_user字段可写,则可以在模型文件中包含以下条件:

    if request.function == 'appadmin' and request.args(0) == 'manage':
        [setattr(field, 'writable', False) for field in db.auth_user
         if field.name != 'registration_key']
    
  2. 创建自定义操作并使用内置grid functionality。要将可查看记录限制为具有挂起注册的记录,可以将查询作为第一个参数传递给网格:

    SQLFORM.grid(db.auth_user.registration_key == 'pending', ...)
    
  3. 您可以使用web2py中提供的任何工具创建自己的CRUD功能。