【发布时间】:2016-12-29 16:27:05
【问题描述】:
这里是新手程序员。我想创建一个拥有数百名用户的登录系统。最初,我得到了一些关于这些用户的数据库信息,格式如下:
student#| first_name | last_name | student_ID |
--------|------------|-----------|------------|
10001 | Bob | Jones | Bob100 |
10002 | Andy | Guo | And101 |
10003 | Andy | Sir | And102 |
10004 | Bob | Jones | Bob101 |
名字和姓氏可以相同,但 student# 和 student_ID# 始终是唯一的。 因此,我希望 student_ID 成为 用户名,student# 成为 密码。在阅读了一些教程后,我实现了一个非常基本的登录系统,我必须手动创建用户:
python manage.py createsuperuser
然后我使用以下代码对用户进行身份验证:
def auth_view(request):
username = request.POST.get('username', '')
password = request.POST.get('password', '')
user = auth.authenticate(username=username, password=password)
if user is not None:
auth.login(request, user)
return HttpResponseRedirect('/accounts/loggedin')
else:
return HttpResponseRedirect('/accounts/invalid')
所以我想了几个选择,想问问你的意见:
- 创建一个脚本,解析数据库中的 student# 和 student_ID 并创建用户。
- 每当学生登录时,检查用户名(student_ID) 和密码(password) 是否匹配。 (基本上是在编写我自己的身份验证代码?)
我不确定我是否朝着正确的方向前进。任何帮助是极大的赞赏。谢谢。
【问题讨论】:
-
使用django默认认证机制。请参阅此文档docs.djangoproject.com/en/1.10/topics/auth/default 我建议您使用散列技术加密和存储密码,而不是将其存储为原始文本/
标签: django authentication psql