我目前在PHP / MYSQL中设置了一个新闻网站,它有点旧,我正在将它迁移到使用Postgresql 8.4和Psycopg2的新django站点。
Django的管理模型包含一个auth_user
表,我怀疑这是我需要将所有用户行插入的表。
Q#1 :我应该依赖这个已经制作的表格,当我将syncdb与管理员联系起来时,对吗?
似乎使用sha1加密密码,superadmin的密码长度为51个字符,密码字段为VARCHAR(128)
。
Q#2 :我别无选择,只能强制用户从其存储的电子邮件地址创建新密码?最好只保留密码列,因为SHA1可能比MD5更安全。
问题3:如果我要为此auth_user
表添加自定义列以查找aim_username
以及其他各种用户特定列等内容,那么管理员不知何故?我是否需要在某处覆盖默认的管理模型?
答案 0 :(得分:3)
我不确定你问的问题是什么。
对于问题2,如果您想要向用户无缝过渡,您可以做的是维护用户原始密码的列表。当有人尝试登录时,您在原始列表中查找他们的电子邮件,并根据您在数据库中的记录检查他们登录的密码的md5。如果匹配,请从原始表中删除记录,并通过散列表单中的密码来更新auth_user表中的密码记录。
对于问题3,Django允许您指定可包含所需的任何额外信息的用户配置文件模型。请查看:http://docs.djangoproject.com/en/dev/topics/auth/#storing-additional-information-about-users。