2017-05-04 116 views
-1

我试图让我的Web应用程序使用Windows身份验证进行身份验证,但是当我在连接字符串中添加Integrated Security = True而不是使用用户名进行身份验证时,它使用的是计算机名称。 我不知道我是否让自己清楚,但这里是一些实际问题的图像。如何使Windows身份验证基于用户而不是本机进行身份验证?

因此,这里是我的连接字符串代码在webconfig enter image description here

的图像,但使用这个aplication试图用我的机器名,如下所示验证:enter image description here(CEBI \ INFODSKT003 $)是我的机器名,但我希望它使用用户登录的名称。有人可以帮我吗?谢谢,

+0

你所看到的是**模拟**。假设你的应用程序使用Windows身份验证,并假装你的应用程序池身份,你会得到你想要的。有多个模拟可用的资源,也在这里在StackOverflow:https://www.google.pl/search?q=app+pool+impersonation#spf=1 –

回答

1

如果您想为您的网站使用相同的网络用户,无论用户使用您的网站,您需要将网站的应用程序池设置为以网络用户身份运行。

可以通过打开IIS管理器,选择应用程序池并单击“操作”窗格菜单下的高级设置...来执行此操作。选择标识,然后单击列出的当前用户旁边的按钮。选择自定义帐户然后单击设置。输入用户名的格式domain\username,然后输入用户的密码。

如果你想让你的每个网站的用户访问数据库,每个数据库都有自己的网络用户名,那么看看ASP.NET Impersonation

+0

我相信这个答案可能是错误的,因为这将使池在**一个固定的**帐户下运行。我相信OP所想的是一种获取当前运行浏览器的用户身份的方式。看看我在这个问题下的评论。 –

+0

@WiktorZychla据此更新。感谢您的高举。 –

+0

感谢它完美的工作! –