私はYiiフレームワークが新しく、ユーザーID、ユーザー名&などの現在ログインしているユーザーのユーザーの詳細を取得し、そのデータをヘッドタグに追加したいと考えています。私はYiiで基本版を使用しています。Yiiフレームワークでユーザーの詳細を取得
この詳細情報はどのように入手できますか?
私はYiiフレームワークが新しく、ユーザーID、ユーザー名&などの現在ログインしているユーザーのユーザーの詳細を取得し、そのデータをヘッドタグに追加したいと考えています。私はYiiで基本版を使用しています。Yiiフレームワークでユーザーの詳細を取得
この詳細情報はどのように入手できますか?
こんにちはsetState
メソッドを使用してください。あなたのUserIdentity.php
public function authenticate()
{
$user=User::model()->find('LOWER(username)=?',array(strtolower($this->username)));
if($user===null)
$this->errorCode=self::ERROR_USERNAME_INVALID;
else if(!$user->validatePassword($this->password))
$this->errorCode=self::ERROR_PASSWORD_INVALID;
else
{
$this->_id=$user->id;
$this->username=$user->username;
$this->setState("userid",$user->user_id);// set States like this
$this->setState("username",$user->username);
$this->setState("avatar",$user->avatar);
$this->errorCode=self::ERROR_NONE;
}
return $this->errorCode;
}
で
は今どこでも
$userid = Yii::app()->user->getState('userid');
これは間違っています。あなたはいつでも '\ Yii :: $ app-> user-> identity'にアクセスして、実際のユーザモデルを得ることができます。 – Twisted1919
私はYii 1.1を使用しています。 – user1234
OPは「私はYiiで基本バージョンを使用しています」と言っています。つまり、yii2ではなく1を使用しています。 – Twisted1919
のYiiはIdentityInterfaceを使用してセッション内のユーザデータを扱うようにこれらを取得します。 ステップバイステップで行きましょう。
IdentityInterfaceを実装するUserという名前のクラスを作成できます。データベースに接続した場合は、ActiveRecordに拡張することができます。
class User extends ActiveRecord implements IdentityInterface
{
...
}
設定ファイルmain.phpに設定の詳細を追加します。私は先進的なテンプレートで作業しています。それを確認してください。
'components' => [
...
'user' => [
'identityClass' => 'common\models\User',
'enableAutoLogin' => true,
'identityCookie' => ['name' => '_identity-frontend', 'httpOnly' => true],
],
....
];
これは、アプリケーションにcommon \ model \ Userクラスのユーザーセッションの詳細を取得するように指示します。一般的には、バックエンドとフロントエンドに同じクラスを使用していますが、これは基本テンプレートには当てはまりません。
あなたはUserクラスのオブジェクトを取得する場合、有効なユーザー名とパスワードを使用して、アプリに
をユーザーログインを作成し、ユーザーにログインするには、次のコードを使用します。
Yii::$app->user->login($user);
あなたがサンプルに
のYii :: $ APP-> USER-> isGuestを以下しているユーザーの値を取得するには - これは、ユーザーがログインしているかどうかを示します。
のYii :: $ APP-> USER-> IDからYii::$app->user->identity
与えるあなたのアクセス - ユーザー
のYii :: $ APP-> USER-> identity->名前のIDを取得します。 Userクラスのオブジェクト全体に渡します。他の属性がある場合は、IDを使用して取得します。たとえば、アバターURLを格納している「アバター」を持つことができます。Yii::$app->user->identity->avatar
で取得できます。最後に、あなたが設定したセッションのために、このリンクを参照し、YIIでセッション値を取得することができます
Yii::$app->user->logout();
をログアウトする
。 http://stackoverflow.com/questions/14197462/set-session-in-yii-framework/14197600 –