SQL 唯一用户 ID 和工作站

发布于 2024-12-11 18:04:35 字数 241 浏览 0 评论 0原文

我有以下场景:

部署在 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

以可爱出名 2024-12-18 18:04:35

除非您设置 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文