在asp.net和php之间交叉子域单点登录

时间:2016-03-11 08:45:21

标签: php asp.net single-sign-on

我有一个asp.net mvc应用程序和一个php应用程序,它们都在同一台服务器上的IIS中托管。它们具有相同的域但不同的子域,例如:a.test.com,b.test.com。

我可以使用cookie在两个应用程序之间实现SSO吗?请给我一些提示,谢谢。

2 个答案:

答案 0 :(得分:0)

Cookie可以在同一个域的子域之间共享。设置cookie时,可以将其范围限定为“test.com”,这意味着“test.com的任何子域都可以访问此cookie”。

PHP的set cookie函数有一个可用于此目的的域参数。

答案 1 :(得分:0)

是的,您可以在设置cookie时指定域名,例如,当用户在服务器端提供有效的用户名和密码组合时,您可以这样做

setcookie("userId", $userId, time()+3600, "/", "test.com", 1);

这会将cookie userId设置为userId(从数据库中检索)。 此cookie将可用于test.com的所有子域

有关设置Cookie http://php.net/manual/en/function.setcookie.php

的更多信息

另外,设置特定于域的cookie不是特定于语言的。您也可以在asp.net https://msdn.microsoft.com/en-in/library/aa289495(v=vs.71).aspx

中设置特定于域的cookie

希望有所帮助