Symfony2 从 ssl 子域注销
Symfony2 Logging out from ssl subdomain
我不得不为 ssl 连接使用子域。
我解决登录/注销过程的想法是在 ssl 子域上使用到 "redirect" 的路由配置并使用 https。注销过程应该执行相反的操作:"redirect" 到原始域并使用 http。
一切正常,除了用户在注销过程后仍然登录。
我的 routing.yml 看起来像:
userarea:
resource: "@BlueChordUserBundle/Controller/"
type: annotation
schemes: [https]
host: example.hosted-secure.com
prefix: /
adminarea:
resource: "@BlueChordAdminBundle/Controller/"
type: annotation
schemes: [https]
host: example.hosted-secure.com
prefix: /
website:
resource: "@BlueChordWebsiteBundle/Controller/"
type: annotation
prefix: /
login_check:
path: /{_lang}/dashboard/login_check
schemes: [https]
host: example.hosted-secure.com
logout:
path: /{_lang}/dashboard/logout
schemes: [http]
host: example.com
loginfailure:
path: /{_lang}/login
schemes: [https]
host: example.hosted-secure.com
我在这里发现了或多或少的类似问题,但没有一个对您有所帮助。
由于 cookie 域限制,它无法工作。您的会话 cookie 保存在客户端浏览器中的域托管-secure.com。如果您将用户重定向到 example.com 上的注销操作,客户端浏览器将不会向服务器发送会话 cookie。 example.com 根本看不到会话 cookie。
如何在 ssl 子域下执行注销操作并在成功注销后重定向到原始 http 域?
我不得不为 ssl 连接使用子域。
我解决登录/注销过程的想法是在 ssl 子域上使用到 "redirect" 的路由配置并使用 https。注销过程应该执行相反的操作:"redirect" 到原始域并使用 http。 一切正常,除了用户在注销过程后仍然登录。
我的 routing.yml 看起来像:
userarea:
resource: "@BlueChordUserBundle/Controller/"
type: annotation
schemes: [https]
host: example.hosted-secure.com
prefix: /
adminarea:
resource: "@BlueChordAdminBundle/Controller/"
type: annotation
schemes: [https]
host: example.hosted-secure.com
prefix: /
website:
resource: "@BlueChordWebsiteBundle/Controller/"
type: annotation
prefix: /
login_check:
path: /{_lang}/dashboard/login_check
schemes: [https]
host: example.hosted-secure.com
logout:
path: /{_lang}/dashboard/logout
schemes: [http]
host: example.com
loginfailure:
path: /{_lang}/login
schemes: [https]
host: example.hosted-secure.com
我在这里发现了或多或少的类似问题,但没有一个对您有所帮助。
由于 cookie 域限制,它无法工作。您的会话 cookie 保存在客户端浏览器中的域托管-secure.com。如果您将用户重定向到 example.com 上的注销操作,客户端浏览器将不会向服务器发送会话 cookie。 example.com 根本看不到会话 cookie。
如何在 ssl 子域下执行注销操作并在成功注销后重定向到原始 http 域?