SQL 唯一用户 ID 和工作站
我有以下场景:
部署在 NLB 和 SQL 集群上的 Web 应用程序。
在数据库中,每个表都有一个触发器来跟踪用户所做的活动。当前触发器正在保存主机名(这在此类 Web 部署的情况下没有用)。
与数据库的连接是用帐户“SA”模拟的,有没有可能的方法来获取 连接的用户或工作站在 SQL 内发送请求,或者我需要从应用程序代码将用户信息传递到数据库中。
DBMS是SQL,Web应用程序基于.NET框架
I have the following scenario:
A web application deployed over an NLB and a SQL Cluster.
In the database each table has a trigger to track activities done by users.currently the triggers are saving HostName (which is not useful in case of such web deployment).
Connection to the db is impersonated with the account "SA", Is there a possible way to obtain the
connected user or the workstation sending the request inside SQL or I need to pass User Info into the db from withing the applications Code.
The DBMS is SQL and the web application is based on .NET framework
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
除非您设置 Kerberos 传递以使用 Windows 身份验证,否则您需要从代码中传递用户 ID。这超出了这个答案的范围。
更重要的是,为什么要在 SQL 集群上使用“sa”运行 Web 应用程序。这是愚蠢的。使用“最低权限”Windows 服务帐户运行 IIS 应用程序池并使用它连接到 SQL Server。
You need to pass in the user id from the code unless you set up Kerberos pass through to use Windows Authentication. That is out of scope for this answer.
More importantly, why are you running a web app using "sa" on the SQL cluster. This is idiocy. Use a "least privilege" windows service account to run your IIS App Pool and use this to connect to SQL Server.