0
なぜYii2認証はお尻のような痛みですか?Yii2ログインの問題
SiteController
コントローラのindex
アクションには、認証されたユーザだけがアクセスできるように制限したいと考えています。基本的なアプリケーションテンプレートをダウンロードしました。ここSiteController
のbehaviors()
メソッドのコードは次のとおりです。
public function behaviors()
{
return [
'access' => [
'class' => AccessControl::className(),
'only' => ['login', 'logout', 'index'],
'rules' => [
[
'allow' => true,
'actions' => ['logout', 'index'],
'roles' => ['@'],
],
[
'allow' => true,
'actions' => ['login'],
'roles' => ['?'],
],
],
],
'verbs' => [
'class' => VerbFilter::className(),
'actions' => [
'logout' => ['post'],
],
],
];
}
とindex
アクション:
public function actionIndex()
{
return $this->render('index');
}
Userモデルが全く変更されません。なぜsite/index
にアクセスしようとすると、正しくsite/login
にリダイレクトされますが、管理者の資格情報(admin
/admin
)でログインしても、再度ログインページにリダイレクトされますか? WTFはここで間違っていますか?面白いのは、ユーザー管理者がログインしているランタイムログを読み込んでも、ログインページが再び表示されることです。
を試すことができ、あなたのurlManagerのCONFIまたはあなたのhtaccessでリダイレクトを持っていないことを確認してください、あなたが本当に正しく記録され、ログインアクション作業していることを確認してください作業。 –
私はこれを私のアプリで使っています。あなたは確かにログに記録されていますか? 。あなたはいくつかのrediection urlManagerやhtaccesを持っていませんか? – scaisEdge
間違ったユーザー名やパスワードを入力した場合、ログインフォームにエラーが表示されますが、そうではありません。私が言ったように、ランタイムログは成功したログインを記録しますが、とにかく再度ログインするようにリダイレクトされます。これは非常にイライラしています... !!! –