1

Yii2 の高度なテンプレートでは、フロントエンドに新規ユーザー用のサインアップ コンポーネントがあります。

そのサインアップ プロセスを /backend に入れて、管理者ユーザーだけが他の新しいユーザーを作成できるようにしたいと考えています。

そのため、サインアップ フォーム、サインアップ ビューを移動し、サインアップ アクションをバックエンド/SiteController に追加すると、「このアクションを実行することは許可されていません」という 403 エラーが発生します。

サインアップ プロセスを Yii2 の高度なテンプレートのバックエンドに入れることができた人はいますか?

私がやりたいことは、管理者ユーザーに新しいユーザーを作成させ、ログインの詳細を外部に提供することです。その後、外部の関係者は、自分のパスワードを設定するために、パスワード リセットを実行するようにアドバイスされます。しかし、事実上、登録/サインアッププロセスをロックダウンします.

4

1 に答える 1

3

この作業を妨げるものは何もありません。しかし、途中でいくつか変更する必要があります。

まず、エラー メッセージは、バックエンドの SiteController が持つ AccessControl から来ていると思います。

public function behaviors()
{
    return [
        'access' => [
            'class' => AccessControl::className(),
            'rules' => [
                [
                    'actions' => ['login', 'error'],
                    'allow' => true,
                ],
                [
                    'actions' => ['logout', 'index'],
                    'allow' => true,
                    'roles' => ['@'],
                ],
            ],
        ],
        'verbs' => [
            'class' => VerbFilter::className(),
            'actions' => [
                'logout' => ['post'],
            ],
        ],
    ];
}

これを次のように変更します。

public function behaviors()
{
    return [
        'access' => [
            'class' => AccessControl::className(),
            'rules' => [
                [
                    'actions' => ['login', 'error'],
                    'allow' => true,
                ],
                [
                    'actions' => ['logout', 'index', 'signup'],
                    'allow' => true,
                    'roles' => ['@'],
                ],
            ],
        ],
        'verbs' => [
            'class' => VerbFilter::className(),
            'actions' => [
                'logout' => ['post'],
            ],
        ],
    ];
}

そうしないと、次のエラー メッセージが表示されます。

Forbidden (#403)
You are not allowed to perform this action.

サインアップ機能はゲスト登録用に作成されており、アカウントが作成されるとすぐに使用できるユーザーを自動的にログインさせることに注意してください。この機能を削除する必要があり、途中で他のバグに遭遇する可能性があります。

幸運を。

于 2015-03-15T17:04:05.127 に答える