Asp.net mvc 跨域使用表单身份验证

Asp.net mvc 跨域使用表单身份验证,asp.net-mvc,asp.net-web-api,cross-domain,forms-authentication,Asp.net Mvc,Asp.net Web Api,Cross Domain,Forms Authentication,这是我们的问题。。 我们构建了一个MVC Web api,它使用带有cookie的表单身份验证来处理会话。 当我们在与web api相同的域(本地主机或web服务器)上使用前端网页时,所有这些都可以正常工作。(我们使用JQuery$.get和$.post与web api进行通信) 尽管前端在未来应该是一个独立的html5应用程序,而不是位于与web api相同的域中。 不幸的是,这不起作用 web api确实会将身份验证cookie返回给客户端,但当前端发送请求时,cookie不会返回到web

这是我们的问题。。 我们构建了一个MVC Web api,它使用带有cookie的表单身份验证来处理会话。 当我们在与web api相同的域(本地主机或web服务器)上使用前端网页时,所有这些都可以正常工作。(我们使用JQuery$.get和$.post与web api进行通信)

尽管前端在未来应该是一个独立的html5应用程序,而不是位于与web api相同的域中。 不幸的是,这不起作用

web api确实会将身份验证cookie返回给客户端,但当前端发送请求时,cookie不会返回到web api。 当web api和前端都在同一个域上时,cookie将与请求一起自动发送

我们已经试过了
web api webconfig文件中的“Access Control Allow Origin:*”和“Access Control Allow Authentication:true”。

您需要的是单点登录(SSO)功能

浏览器只会向同一个域发送cookies,这就是为什么当应用程序位于不同的域时,浏览器无法工作的原因


CodeProject中有一篇关于在ASP.NET中实现SSO的好文章,它也适用于ASP.NET MVC。

您能解决这个问题吗?我也有类似的情况,但我的客户端应用程序是基于HTML5的phonegap应用程序,运行在移动浏览器容器上。这是一篇很棒的文章!