我最近开始学习/使用django;我正在设法为管理员和用户创建两个独立的身份验证系统。与其创建一个全新的auth系统,我想利用django的内置功能(即会话管理、@login_required装饰器等)。
具体来说,我希望有两个单独的登录表-一个用于管理员,一个用于用户。管理登录表应该是django用其默认字段生成的默认表(即。id, username, email, is_staff, etc.)。另一方面,我希望只有5个字段(- id, email, password, first_name, last_name )。此外,我希望对登录表和@login_required装饰器各自的视图使用django内置会话管理。最后,我想为管理员和用户提供两个独立的不同的登录表单。
有人对我如何实现我的目标有什么建议,或者知道有什么文章/例子可以帮助我前进吗?
发布于 2009-09-29 20:46:42
如果我正确理解了您的问题(也许我不理解),我想您是在问如何为非管理员用户创建单独的登录表单,同时仍然使用标准的Django身份验证机制、User模型等。
你想从django.contrib.auth.views.login开始。在urlconf中添加一行如下所示:
(r'^/login/$', 'django.contrib.auth.views.login', {'template_name': 'myapp/login.html'})login泛型视图接受template_name参数,这是自定义登录模板的路径(您也可以使用django.contrib.auth提供的通用模板)。
有关login、logout、password_change和其他泛型视图的完整文档可在Django身份验证文档中获得。
发布于 2009-09-29 20:33:29
您可能会编写一个或多个自定义身份验证后端。这是记录在案的这里。例如,我编写了一个定制后端,用于对LDAP服务器进行身份验证。
发布于 2009-09-29 19:53:29
稍微修改一下,使用户在用户名上有一个类别前缀?您还没有给我们多少关于您想要做的事情的信息,您的需求可能通过使用站点框架来满足,或者只是使用两个单独的django安装。
如果您要做的是将用户登录页和管理登录页面分开,只需使用文档中详细说明的内置框架来创建“用户”登录页面,而不使用admin登录页面。如果你担心用户会以某种方式开始编辑管理登录的东西,不要,他们不会,除非你让他们。
https://stackoverflow.com/questions/1494524
复制相似问题