Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.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
Asp.net 在不提示输入凭据的情况下登录到ADFS_Asp.net_Authentication_Adfs - Fatal编程技术网

Asp.net 在不提示输入凭据的情况下登录到ADFS

Asp.net 在不提示输入凭据的情况下登录到ADFS,asp.net,authentication,adfs,Asp.net,Authentication,Adfs,我已经使用ASP.NET MVC 5建立了一个站点,使用我们的内部ADFS服务器使用基于声明的安全性。站点执行重定向到ADFS服务器,该服务器要求用户AD凭据登录,然后重定向回我的站点。此时,用户已通过身份验证,我可以访问ADFS发送的所有声明 问题是我不希望我的用户必须输入他们的凭据。我假设他们的windows凭据可以发送到服务器以使登录过程无缝,但我不知道如何实现。我尝试将身份验证模式设置为windows,但没有效果 ADFS和我的网站都是内部网站,ADFS网站显示在我的本地Intranet

我已经使用ASP.NET MVC 5建立了一个站点,使用我们的内部ADFS服务器使用基于声明的安全性。站点执行重定向到ADFS服务器,该服务器要求用户AD凭据登录,然后重定向回我的站点。此时,用户已通过身份验证,我可以访问ADFS发送的所有声明

问题是我不希望我的用户必须输入他们的凭据。我假设他们的windows凭据可以发送到服务器以使登录过程无缝,但我不知道如何实现。我尝试将身份验证模式设置为windows,但没有效果

ADFS和我的网站都是内部网站,ADFS网站显示在我的本地Intranet网站设置中。我已经用IE9和Chrome进行了测试,它们都弹出了一个对话框来查找凭据。我已经和系统管理员谈过了,并且为ADF启用了windows身份验证


如何在没有提示我的用户输入凭据的情况下通过ADFS进行身份验证?

这些用户是内联网用户还是外联网用户

只有intranet用户可以使用WIA无缝登录

这适用于具有正确设置的IE的OOTB,但其他浏览器需要显式配置

你在使用什么浏览器


ADFS配置还需要允许集成身份验证。

我也遇到了同样的问题,并最终找到了原因。如果ADFS身份验证页面url是非intranet地址,则可能发生这种情况

要解决此问题,请将应用程序的web.config中的wsfederation颁发者地址更改为浏览器视为intranet地址的地址

更改以下内容

<wsFederation passiveRedirectEnabled="true" issuer="https://xyz.abc.com/adfs/ls/" realm="http://myapps/MVCpluADFS" requireHttps="true" />


其中xyz是安装ADFS的机器名

但不要更改adfs信任URL。保持原样,因为它们将用于在应用程序和ADF之间匹配和建立信任

浏览器将“xyz.abc.com”视为internet地址,因此会显示登录提示,而“xyz”视为intranet地址,因此它会自动将登录的用户凭据转发到应用程序,而用户无需自己指定凭据

此更改后,如果使用的浏览器是具有默认安全设置的Internet Explorer(即“安全选项卡->Internet->自定义级别”下的“仅在intranet区域自动登录”)或Chrome(因为它会选择为Internet Explorer设置的设置),则任何intranet用户都将直接登录到应用程序

要在Firefox中实现自动登录,必须执行以下附加步骤:

1) 在firefox地址栏中键入about:config。您可能会被警告编辑此部分,请继续


2) 在搜索栏中键入“fqdn”。您现在应该看到两个设置,即“网络。自动ntlm身份验证。允许非fqdn”和“网络。协商身份验证。允许非fqdn”。将两者的值都更改为true。

我已使用此信息更新了问题,但这是一个intranet站点。我已经用IE9和Chrome进行了测试,它们都弹出了一个对话框来查找凭据。另外,我已经和系统管理员谈过了,并且为ADFS启用了windows身份验证。您有ADFS代理吗?您是否导航到那里而不是ADFS框?选项/高级/安全性是否勾选了IWA?
<wsFederation passiveRedirectEnabled="true" issuer="https://xyz/adfs/ls/" realm="http://myapps/MVCpluADFS" requireHttps="true" />