想要实现单点登录怎么设置顶级二级域名,给出代码示例
时间: 2023-06-23 20:08:02 浏览: 47
在实现单点登录时,通常需要使用顶级域名和子域名来设置跨域访问和共享登录状态。以下是一个示例代码,演示如何设置顶级域名和子域名:
1. 设置顶级域名
```php
// 在根域名上设置cookie
setcookie('name', 'value', time()+3600, '/', '.example.com', false, true);
```
在设置cookie时,将第四个参数设置为“/”,第五个参数设置为“.example.com”,表示将cookie设置在整个example.com域名下,而不是只在当前子域名下。
2. 设置子域名
```php
// 在子域名上设置cookie
setcookie('name', 'value', time()+3600, '/', 'subdomain.example.com', false, true);
```
在设置cookie时,将第四个参数设置为“/”,第五个参数设置为“subdomain.example.com”,表示将cookie设置在子域名subdomain.example.com下。
注意,以上示例代码中的“example.com”和“subdomain.example.com”需要替换为实际的域名和子域名。
在实现单点登录时,还需要确保在跨域访问时,顶级域名和子域名之间的cookie能够正确共享。可以使用以下代码来设置跨域访问:
```php
// 允许跨域访问
header('Access-Control-Allow-Origin: http://subdomain.example.com');
header('Access-Control-Allow-Credentials: true');
```
在这里,将“http://subdomain.example.com”替换为实际的子域名,表示允许来自该子域名的跨域请求访问当前域名,同时设置“Access-Control-Allow-Credentials”为true,表示允许跨域共享cookie。
以上示例代码仅供参考,实际应用中需要根据具体需求进行修改和调整。