Webサイトの機能拡張の案件。
既存のログインシステムがあるのでそれに合わせないといけない。
そのサイト自体はcakePHPで作るようなデータベースを持っておらず、外部のAPIでログイン機能を実装している。
調べてみると特定の名前のCookieが書き込まれていればログインであるという判断をしている。
こちらでもログインを制御するためにCookieを見たり書き込んだりしていた。
ところがうまく動かないことがある。
ブラウザでCookieを見てみると、CookieにはCookie名と有効期限だけでなく、「パス情報」が付属している。
既存のログインシステムでは、そのドメインでの一番浅い階層で Cookieを書き込んでいた。
なので、こちらでCookieを書き込むときも、パス情報を合わせる必要がある。
PHPでは、setcookie()関数の第四引数がパス指定となっている。
------------------------------------
setcookie(
"name", //クッキー名
"value", //値
0, /クッキーの有効期限
"/" //パス
);
------------------------------------
参考:http://php.net/manual/ja/function.setcookie.php
JavaScriptの場合:パスを指定しつつCookieを書き込む
------------------------------------
document.cookie = "name=value; path=/";
------------------------------------
0 件のコメント:
コメントを投稿