将实际用户名从ASP.Net传递到SQL Server的最佳实践
我正在寻找在tSQL中使用实际用户名的最佳实践,同时,我的ASP.Net应用程序使用全局登录登录到SQL Server,在web.config文件的连接字符串中配置 此ASP.Net应用程序是作为SharePoint2007实现的扩展编写的。此应用的数据库是旧数据库,而不是SharePoint数据库 有问题的应用程序需要在审核(shadow)表中记录每次插入、更新和删除,包括日期和时间以及用户名。这是由触发器完成的 触发器使用SYSTEM_用户值,因此全局登录总是写入审核表 系统中大约有2700个存储过程,我猜其中一半执行DML语句 更改应用程序以便记录实际用户名的最佳方法是什么?我的ASP.Net应用程序知道用户名。事实上,我的所有用户都使用Active Directory帐户登录到ASP.Net应用程序 我正考虑下列方案:将实际用户名从ASP.Net传递到SQL Server的最佳实践,asp.net,sql-server,Asp.net,Sql Server,我正在寻找在tSQL中使用实际用户名的最佳实践,同时,我的ASP.Net应用程序使用全局登录登录到SQL Server,在web.config文件的连接字符串中配置 此ASP.Net应用程序是作为SharePoint2007实现的扩展编写的。此应用的数据库是旧数据库,而不是SharePoint数据库 有问题的应用程序需要在审核(shadow)表中记录每次插入、更新和删除,包括日期和时间以及用户名。这是由触发器完成的 触发器使用SYSTEM_用户值,因此全局登录总是写入审核表 系统中大约有2700
对这些选项或其他选项的任何评论?
我通常使用上下文信息。与模拟集成的安全性将破坏连接池,将用户名传递给进程感觉完全错误。
我花了一段时间才理解上下文信息引用了实际的tSQL构造。这看起来是一个很好的解决方案。