0

ユーザーがサイトを開いてサイトにログインするときにYiiフレームワークを使用しwww.dominname.com ています。認証またはユーザーセッションデータが同じではない http://dominname.com ため、ユーザーはHTTPを開いたときに再度ログインする必要があります。認証ログを作成するにはどうすればよいですか?これらは WWW と HTTP で行われるか、WWW と HTTP の間でセッション データを共有します。この問題を解決するための Yii の設定はありますか?


ユーザーがelseユーザーをチェックすると、このコードは私のためrememberMeに機能します ログインしない 誰もこれを解決する方法を知っていますか?

  1. メイン/構成

      '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,
        ),
    ),
    
  2. コンポーネント / 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);
      }
     }
    
4

1 に答える 1

0

www ドメインと非 www ドメインを別々にする理由がある場合を除き、非 www ドメインの www を別のドメインにリダイレクトすることをお勧めします。また、SEOにも優れています。これを行うには、これを .htaccess ファイルに追加します。

RewriteEngine On
rewritecond %{http_host} ^yoursite.com
rewriteRule ^(.*) http://www.yoursite.com/$1 [R=301,L]
于 2013-09-01T16:47:43.130 に答える