ユーザーがサイトを開いてサイトにログインするときにYiiフレームワークを使用しwww.dominname.com
ています。認証またはユーザーセッションデータが同じではない
http://dominname.com
ため、ユーザーはHTTPを開いたときに再度ログインする必要があります。認証ログを作成するにはどうすればよいですか?これらは WWW と HTTP で行われるか、WWW と HTTP の間でセッション データを共有します。この問題を解決するための Yii の設定はありますか?
ユーザーがelseユーザーをチェックすると、このコードは私のためrememberMe
に機能します ログインしない 誰もこれを解決する方法を知っていますか?
メイン/構成
'user' => array( // enable cookie-based authentication 'class' => 'WebUser', 'allowAutoLogin' => true, ), 'session' => array( 'savePath' => dirname(__FILE__) . DIRECTORY_SEPARATOR . '../../session', 'cookieMode' => 'allow', 'cookieParams' => array( 'path' => '/', 'domain' => '.domainname.org', 'httpOnly' => true, ), ),
コンポーネント / Web ユーザー
class WebUser extends CWebUser { public $identityCookie = array( 'path' => '/', 'domain' => '.domainname.org', ); public function init() { $conf = Yii::app()->session->cookieParams; $this->identityCookie = array( 'path' => $conf['path'], 'domain' => $conf['domain'], ); parent::init(); } public function logout($destroySession = true) { if ($this->allowAutoLogin && isset($this->identityCookie['domain'])) { $cookies = Yii::app()->getRequest()->getCookies(); if (null !== ($cookie = $cookies[$this->getStateKeyPrefix()])) { $originalCookie = new CHttpCookie($cookie->name, $cookie->value); $cookie->domain = $this->identityCookie['domain']; $cookies->remove($this->getStateKeyPrefix()); $cookies->add($originalCookie->name, $originalCookie); } } parent::logout($destroySession); } }