Asp.net mvc 2 拒绝显示';https://mytestwebsite.com/?wa=wsignoutcleanup1.0' 在帧中,因为它设置为';X-Frame-Options';至';否认';
我使用ADFS 2.0作为应用程序的身份验证过程,该应用程序是使用asp.net mvc2和SQL Server 2012开发的。为了解决这个问题:Clickjacking(又名跨站点框架或XSF),我们在web.config文件中设置了X-Frame-Options,其值为DENY 复制步骤: 1.使用Chrome浏览器使用有效凭据登录到应用程序。 2.系统向我显示应用程序登录页。 3.单击F12打开开发人员工具选项。 4.现在单击注销选项并导航到控制台窗口。 5.系统显示了ADFS注销页面,但控制台窗口中仍出现错误,如下所述: 拒绝在帧中显示“”,因为它将“X-frame-Options”设置为“DENY” 在检查ADFS Sognout页面的ViewSource时,我看到了以下内容:Asp.net mvc 2 拒绝显示';https://mytestwebsite.com/?wa=wsignoutcleanup1.0' 在帧中,因为它设置为';X-Frame-Options';至';否认';,asp.net-mvc-2,adfs2.0,x-frame-options,Asp.net Mvc 2,Adfs2.0,X Frame Options,我使用ADFS 2.0作为应用程序的身份验证过程,该应用程序是使用asp.net mvc2和SQL Server 2012开发的。为了解决这个问题:Clickjacking(又名跨站点框架或XSF),我们在web.config文件中设置了X-Frame-Options,其值为DENY 复制步骤: 1.使用Chrome浏览器使用有效凭据登录到应用程序。 2.系统向我显示应用程序登录页。 3.单击F12打开开发人员工具选项。 4.现在单击注销选项并导航到控制台窗口。 5.系统显示了ADFS注销页面,
<iframe class="Test" src="https://mytestwebsite.com/?wa=wsignoutcleanup1.0">
</iframe>
有人能给我建议解决上述问题的最佳方法吗?一个选择是什么都不做。注销清理的重要部分是删除mytestwebsite.com的身份验证cookie,该cookie仍然可以完成,因为http头仍然被处理,即使生成的iframe内容没有显示 仅当满足以下条件时,才允许渲染iframe内容:
- 您的web应用程序将进一步执行下游注销清理。即,它包含自己的iframe标记以签出其他应用程序,或
- STS使用标记而不是iFrame进行注销清理,并且您希望WIF返回的绿色勾号图像出现,或者
- 你真的,真的不希望浏览器控制台中出现无害的错误消息
你有什么解决办法吗?我也有同样的问题。你找到解决办法了吗?
public override void Init()
{
base.Init();
FederatedAuthentication.WSFederationAuthenticationModule.SigningOut += this.WSFederationAuthenticationModuleOnSigningOut;
}
protected void Application_BeginRequest(object sender, EventArgs e)
{
Response.Headers["X-Frame-Options"] = "DENY";
}
private void WSFederationAuthenticationModuleOnSigningOut(object sender, SigningOutEventArgs args)
{
if (args.IsIPInitiated)
{
Response.Headers.Remove("X-Frame-Options");
}
}