您好,我正在编写一个 ASP.Net MVC Intranet 应用程序,可以通过手持设备和一系列浏览器访问该应用程序。我的用户都有 AD 帐户,并且根据他们所在的区域对我们的 SQL 数据库 View /过程拥有不同的权限。数据库还使用 CURRENT_USER 进行水平分区。
由于需要访问应用程序的设备范围很大,我不能依赖模拟/委托(delegate)或受信任的子系统。我希望用户在上述机制失败时只需输入用户名和密码(与 AD 相同)。
有谁知道如何在连接字符串中使用 AD 用户名和密码来访问数据库,而无需创建一组 SQL 镜像帐户?我无法使用网络服务或 sql 代理帐户登录,因为数据库需要用户感知。
最佳答案
您不能在连接字符串中执行此操作。
最好的办法是让 ASP.NET 代码模拟您想要连接的用户。 对于 ASP.NET,这可能有点棘手,因为已经存在模拟层,但这是可行的。
请参阅此 MSKB article 的部分名为“在代码中模拟特定用户”,让您开始走上正确的道路。
关于asp.net - 使用连接字符串中的 AD 用户名和密码对 SQL 进行 Windows 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3358938/