0

YII を使用して学習するデモ プロジェクトを開発しています。

私の疑問は accessRules() 関数にあります。

ユーザーアクセスをチェックするプロジェクト(登録ユーザーの場合)では、ユーザーログイン時にセッションに値を保持しており、 accessRulesの「」コンテキストパラメーターを使用してユーザーアクセスをチェックしています。

何かのようなもの:

    array('allow', 
        'actions'=>array('create','edit','delete'),
        'expression' => '$this->isUser()' //isUser() returns bool value by checking session.
    ),

これと同じ機能のために、' users ' コンテキスト パラメータを使用するのが好きです。しかし、「@」がどのように認証済みユーザーを参照しているのか理解できません。

私にお知らせください

  1. 「@」はaccessRulesでどのように機能していますか?.
  2. 「@」を他の特殊文字または一意の文字列に変更できますか?
4

1 に答える 1

1

ユーザーがログインしていることを検出するために何を使用していますか? 自分で手動で設定する単純なセッション変数?

Yii のログインについては、こちらをご覧になることをお勧めします:
http://www.yiiframework.com/doc/guide/1.1/en/topics.auth

また、ログイン システムが既に実装されている例については、デモ フォルダーにあるフレームワークのダウンロードに付属するブログ デモを参照してください。ログイン プロセスで使用されているファイルを 1 つずつ確認すると、簡単にコピーしてプロジェクトに統合できます。(サイトコントローラー/ログイン アクション、ログインフォーム、ユーザー ID コンポーネントなど)。

「@」記号はログインしているユーザーを表し、「*」はすべてのユーザーを意味します。

したがって、配列の「users」キーに次の値のいずれかを入れることができることがわかっています。

  • '@' すべてのログイン ユーザー
  • '*' 全てのユーザー
  • 'array('username1','username2','username3')' - 特定のユーザーのみ

役に立つかもしれないその他のリソース:
http://www.larryullman.com/2010/01/04/simple-authentication-with-the-yii-framework/

于 2013-05-11T12:39:08.993 に答える