2012-09-04 112 views
2

方案内部和手动登录自动登录:窗户和IIS 7.5匿名身份验证,允许外部

  • HTTPS ASP IIS 7.5(Windows Server 2008中)的/ asp.net网站运行
  • 目前IIS配置为允许匿名身份验证和窗体身份验证,asp.net模拟被禁用,而Windows安装认证没有安装(我明白,Windows身份验证需要为此安装。)
  • 内部和外部用户的单个自定义登录页面

需求量的:

  • 内部用户无缝登录,同时捕捉他们的登录名(窗口认证)
  • 外部用户(不是域)应提示手动登录

问题:

  • 可以用什么方法来实现这个?
  • 寻找的IIS 7.5和web.config设置

途径找到:

  1. 化妆内1个网站,winlogin和weblogin(头版)2页。在weblogin.aspx上允许windows auth = true和anonymous auth = false,反之亦然weblogin.aspx 用户使用ip命中weblogin,如果ip已知重定向到winlogin以捕获登录并重定向到weblogin(如果ip未知)
  2. 将winlogin.aspx作为主页并将401错误重定向到weblogin.aspx
+0

有大量的企业网关解决方案可以实现这一目标,将通过表单上的外部用户收集的用户凭据转换为对IIS有效的Windows身份验证请求。在IIS级别很难实现,但如果您使用任何产品,则很简单。 –

回答

0

这是如何配置IIS以进行集成身份验证的方法。

http://netpl.blogspot.com/2012/06/iis-75-integrated-security-with-no.html

这将使可用于内网用户你的网站没有提示凭据。

请注意,这也适用于网络用户。内置的Web浏览器窗口作为HTTP 401的结果显示。用户提供他/她的凭据并且位于。

如果您希望由于401(未授权)而显示自定义Web表单,你不得不欺骗浏览器一点点:

http://www.codeproject.com/Articles/11202/Redirecting-to-custom-401-page-when-quot-Access-de

这种方式可以重定向到您选择的网页形式的未经授权的响应(例如,展现一个asp.net登录表单)。

尽管可以轻松配置集成身份验证,但在设置混合(集成/表单)身份验证时需要做大量实验。事情随着每个IIS版本而改变;如果池处于经典vs集成模式,IIS7的行为也会有所不同。

+0

我对401上的自定义webform感兴趣,第一篇文章说关闭匿名身份验证,第二篇文章说不要。你能澄清一下吗?谢谢 – ssq

相关问题