Intranet站点页面的Windows身份验证

时间:2012-02-10 15:31:36

标签: asp.net windows-authentication intranet

我正在构建一个具有Windows身份验证的Intranet网站(asp.net 3.5)。两个问题:

  1. 当后面的代码与SQL服务器建立可信连接时,它是否会与应用程序池凭据或当前页面用户凭据连接?
  2. 现在,当一个空白页面,当内部用户(登录到域)尝试点击页面时,他们会受到Windows登录屏幕的挑战,并且他们的凭据不起作用。
  3. 除了添加<authentication mode="Windows"/>之外,还有什么我需要在web.config或IIS中设置以使Windows身份验证正常工作吗?

2 个答案:

答案 0 :(得分:0)

您可以通过启用模拟将ASP.NET应用程序的Windows标识配置为IIS提供的Windows标识。也就是说,您指示ASP.NET应用程序模拟IIS为Windows操作系统进行身份验证的所有任务提供的身份,包括文件和网络访问。

要为Web应用程序启用模拟,请在应用程序的Web.config文件中将identity元素的impersonate属性设置为true,如以下代码示例所示。

<system.web>
  <authentication mode="Windows"/>
  <identity impersonate="true"/>
</system.web>

Source

答案 1 :(得分:0)

您不想按照kd7的建议使用imporsonate。因为那时您需要授予您的用户对数据库的权限。对于SELECT操作可能没问题,但是如果你还需要UDATE / DELETE操作我不认为你的DBA会继续运行。已经由kd7解决了。

启用“Windows”身份验证时,您不仅需要配置应用程序以使用它,还需要配置IIS。

您还需要确保您的AppPool用户对您网站的文件系统具有适当的权限。

根据IIS版本,启用Windows身份验证的过程是不同的。你可以谷歌。