Sql server Django中的每用户数据库身份验证

Sql server Django中的每用户数据库身份验证,sql-server,django,django-models,Sql Server,Django,Django Models,下午好, 我正在为保存敏感健康信息的研究数据库编写前端。我的机构有一项政策,即SQL server记录用户操作,以便在发生违规事件时,他们可以对服务器日志文件执行审核 由于此策略,我无法以系统用户的身份将Django连接到db(否则,服务器将以Django系统用户的身份记录前端操作的所有用户,而不是以实际用户的身份记录) 是否有一种方法可以使用每个用户的凭据连接到数据库,以便在前端执行的操作将作为该用户记录在数据库服务器上?我已经找到了很多关于使用多个数据库的信息,但是没有找到关于这些数据库的每

下午好, 我正在为保存敏感健康信息的研究数据库编写前端。我的机构有一项政策,即SQL server记录用户操作,以便在发生违规事件时,他们可以对服务器日志文件执行审核

由于此策略,我无法以系统用户的身份将Django连接到db(否则,服务器将以Django系统用户的身份记录前端操作的所有用户,而不是以实际用户的身份记录)

是否有一种方法可以使用每个用户的凭据连接到数据库,以便在前端执行的操作将作为该用户记录在数据库服务器上?我已经找到了很多关于使用多个数据库的信息,但是没有找到关于这些数据库的每个用户身份验证的信息


提前谢谢你

我认为您无法做到这一点,连接到数据库的用户需要访问所有表

当我想在Django之外使用Django模型并限制某些用户访问某些模型时,我遇到了一个麻烦

我最终在现有的Django数据库上使用了及其特性。然后可以使用SQL用户连接到数据库


但是,如果您不介意所有用户访问所有表,而只关心日志,也许您可以为每个用户使用不同的
设置.py
或至少不同的
数据库
配置?

我可以通过向SQL用户授予模拟权限并在登录models.py之前执行数据库查询来完成这一点

    cursor = self.connection.cursor()
    try:
        cursor.execute("EXECUTE AS " + get_current_user()
    except DatabaseError as e:
        cursor.close()
        raise e

谢谢你,我以前不知道SQLAlchemy的自动映射功能,虽然它对我当前的问题没有帮助,但我只是简单地将它添加到我的工具箱中供以后使用!一旦我有了这样的名声,我会投票。