postgresql - 从 Postgresql 数据库获取 .Net 中的登录用户

标签 postgresql nhibernate npgsql

我正在使用 NHibernate 和 PostgreSQL 以及 Npgsql 数据提供程序开发一个系统。 我需要在触发器中获取系统中的登录用户才能运行审计功能。 有没有办法在 NHibernate session 中设置用户或直接从数据库中获取用户? 请帮忙!

最佳答案

这是 a detailed explanation of how to get application-level user identity into triggers我刚才写的。本质上,您可以使用临时表来存储用户登录或自定义 GUC。无论哪种方式,您的应用程序都必须在创建 session 时明确设置它,以便以后可以访问它。

我个人认为您通常应该使用 PostgreSQL 用户和SET ROLE as explained here ,但我意识到这并不总是一种选择。

关于postgresql - 从 Postgresql 数据库获取 .Net 中的登录用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13865967/

相关文章:

asp.net - 使用 PostgreSQL 在 ASP.NET 中进行登录控制

sql - PostgreSQL - 获取按日期时间列分组的表中 N 个间隔的项目计数

c# - 实体中的服务行为——如何避免服务注入(inject)实体?

database - 内存不足,无法从 pg_dump 导入新数据库。 psql cloned_db < db_backup.sql

c# - NHibernate SQLFunction 分组依据

.net - NHibernate 和多个数据库后端 - 架构

c# - 查询不会从 npgsql 运行,而是在 postgresql pgAdmin 上运行

postgresql - at 符号 (@) 与冒号 (:) for parameter assignment in postgres/npgsql

sql - 异步回调 - gwt

postgresql - PostgreSQL 高级插入语句