Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# IIS 7.5上的windows和匿名身份验证,允许内部自动登录和外部手动登录_C#_Iis 7.5_Authentication_Mixed Authentication - Fatal编程技术网

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

C# IIS 7.5上的windows和匿名身份验证,允许内部自动登录和外部手动登录,c#,iis-7.5,authentication,mixed-authentication,C#,Iis 7.5,Authentication,Mixed Authentication,情景: 运行IIS 7.5(windows server 2008)的https asp/asp.net网站 IIS当前配置为允许匿名身份验证和表单身份验证,asp.net模拟在未安装windows身份验证时被禁用(我知道需要为此安装windows身份验证) 内部和外部用户的单个自定义登录页 要求: 内部用户在捕获其登录名的同时无缝登录(窗口身份验证) 应提示外部用户(不在域上)手动登录 问题: 可以使用什么方法来实现这一点 正在查找IIS 7.5和web.config设置 找到的方

情景:

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

  • 内部用户在捕获其登录名的同时无缝登录(窗口身份验证)
  • 应提示外部用户(不在域上)手动登录
问题:

  • 可以使用什么方法来实现这一点
  • 正在查找IIS 7.5和web.config设置
找到的方法:

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

  • 这是如何为集成身份验证配置IIS

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

    请注意,这也适用于web用户。HTTP 401的结果是显示一个内置的web浏览器窗口。用户提供他/她的凭据并处于状态

    如果您想显示401(未经授权)后的自定义web表单,则必须稍微欺骗浏览器:

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


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

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

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

    请注意,这也适用于web用户。HTTP 401的结果是显示一个内置的web浏览器窗口。用户提供他/她的凭据并处于状态

    如果您想显示401(未经授权)后的自定义web表单,则必须稍微欺骗浏览器:

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


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

    我对401上的自定义Web表单感兴趣,第一篇文章说要关闭匿名身份验证,第二篇文章说不要。你能澄清一下吗?thanksI我对401上的自定义Web表单感兴趣,第一篇文章说要关闭匿名身份验证,第二篇文章说不要。你能澄清一下吗?感谢通过将从表单上的外部用户收集的用户凭据转换为对IIS的有效Windows身份验证请求,有很多企业网关解决方案可以实现这一点。在IIS级别很难实现,但如果您使用任何产品,都非常简单。通过将从表单上的外部用户收集的用户凭据转换为对IIS的有效Windows身份验证请求,有很多企业网关解决方案可以实现这一点。在IIS级别很难实现,但如果您使用任何产品,都非常简单。