gpt4 book ai didi

c# - Windows 和 IIS 7.5 上的匿名身份验证,允许内部自动登录和外部手动登录

转载 作者:太空宇宙 更新时间:2023-11-03 16:26:57 25 4
gpt4 key购买 nike

场景:

  • 运行IIS 7.5 (windows server 2008)的https asp/asp.net网站
  • IIS 当前配置为允许匿名身份验证和表单例份验证,asp.net 模拟被禁用,而未安装 Windows 身份验证(我知道为此需要安装 Windows 身份验证。)
  • 内部和外部用户的单一自定义登录页面

要求:

  • 内部用户在捕获他们的 LOGON 名称时无缝登录(窗口身份验证)
  • 应提示外部用户(不在域中)手动登录

问题:

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

找到的方法:

  1. 在 1 个网站中制作 2 个页面,winlogin 和 weblogin(首页)。在 winlogin.aspx 上允许 windows auth=true 和匿名 auth=false,在 weblogin.aspx 上允许反之亦然具有 ip 的用户点击 weblogin,如果 ip 已知,则重定向到 winlogin 以捕获登录,如果 ip 未知,则重定向到 weblogin
  2. 将 winlogin.aspx 作为主页面并将 401 错误重定向到 weblogin.aspx

最佳答案

这是为集成身份验证配置 IIS 的方法。

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

这将使您的站点可供 Intranet 用户使用,而无需提示输入凭据。

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

如果您更愿意将您的自定义 Web 表单显示为 401(未授权)的结果,您必须稍微欺骗浏览器:

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

通过这种方式,您可以将未经授权的响应重定向到您选择的 Web 表单(例如,显示 asp.net 登录表单)。

虽然可以轻松配置集成身份验证,但在设置混合(集成/表单)身份验证时要准备大量实验。 IIS 的每个版本都会发生变化;如果池处于经典模式与集成模式,IIS7 的行为也不同。

关于c# - Windows 和 IIS 7.5 上的匿名身份验证,允许内部自动登录和外部手动登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12266033/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com