Python 更改用于在运行时访问连接到django网站的数据库的用户

Python 更改用于在运行时访问连接到django网站的数据库的用户,python,django,postgresql,login,Python,Django,Postgresql,Login,据介绍,目前我为正在开发的网站实现了一个登录例程 另外,我没有使用djangos自己的系统对用户进行身份验证,因为我使用的是针对我公司的LDAP()的身份验证 目前,我正在使用一个普通用户登录数据库,该数据库具有对所有数据的通用访问权限,也允许任何登录网站的用户完全访问 为了避免这种情况,我想知道如何作为刚刚登录网站的个人用户连接到数据库 提前感谢并为糟糕的英语道歉限制用户访问功能和使用DB进行身份验证在Django中分别处理。您可能能够从DB中读取用户的权限,并将其映射到Django权限,但这

据介绍,目前我为正在开发的网站实现了一个登录例程

另外,我没有使用djangos自己的系统对用户进行身份验证,因为我使用的是针对我公司的LDAP()的身份验证

目前,我正在使用一个普通用户登录数据库,该数据库具有对所有数据的通用访问权限,也允许任何登录网站的用户完全访问

为了避免这种情况,我想知道如何作为刚刚登录网站的个人用户连接到数据库


提前感谢并为糟糕的英语道歉

限制用户访问功能和使用DB进行身份验证在Django中分别处理。您可能能够从DB中读取用户的权限,并将其映射到Django权限,但这并非小事(关于权限,请参阅)

在功能受授权限制的UI/UX中,前端和后端需要知道需要检查权限,并且需要以某种方式或其他方式向用户传达缺少的授权

例如:

组A中的用户可以删除X。他们看到“删除”按钮,可能还有一个可以删除X的AJAX调用

组B中的用户不允许删除X。他们看不到删除按钮,可以删除X的AJAX调用需要检查该权限和/或用户组成员资格

如果您只使用DB级别的授权层,那么-您如何知道是否应该显示“删除”按钮以及在AJAX调用中检查什么?

您好! 如果我没有弄错你的问题,你创建的用户每次都是超级用户,对吗

如果您使用的是Django
auth.User
模型,您只需将
User\u object.is\u super
设置为
False
,然后通过视图中的if else限制用户访问!(User_对象是auth.User模型的对象)

这有什么意义吗


//顺便说一句,我在制作我的第一个自定义用户模型时犯了一个错误:确保使用Django哈希和salt来存储您的密码

Django存储您的密码是否自动哈希?使用
User.objects.create_User()
create_superuser()
,请参阅我用于身份验证的后端是django auth ldap,这将为您的网站带来登录功能,而无需关心存储密码等内容,因为您实际上是针对外部LDAP服务器进行身份验证。从数据库访问数据的限制是在DBMS本身中管理的,所以我只需要一种在运行时将不同用户登录到数据库的方法,因此从django发送的请求将作为此用户发送。