我有簡單的基於角色的訪問在我Yii2應用程序中設置的是這樣工作的:yii2重定向基於訪問角色更改密碼頁
public function behaviors()
{
return [
'access' => [
'class' => AccessControl::className(),
'ruleConfig' => [
'class' => AccessRule::className(),
],
'only' => ['logout', 'contact', 'change-password'],
'rules' => [
[
'actions' => ['login'],
'allow' => true,
'roles' => ['?'],
],
[
'actions' => ['logout', 'contact', 'change-password'],
'allow' => true,
'roles' => [
User::ROLE_USER,
User::ROLE_ADMIN
],
],
[
'actions' => ['logout', 'change-password'],
'allow' => true,
'roles' => [
User::ROLE_NEW_USER
],
],
],
],
'verbs' => [
'class' => VerbFilter::className(),
'actions' => [
'logout' => ['post'],
],
],
];
}
當用戶沒有登錄,試圖訪問註銷,聯繫人或更改密碼頁面將重定向到登錄頁面。我還想對此進行配置,以便具有角色ROLE_NEW_USER的用戶始終被重定向到更改密碼頁面,直到其狀態更改(更改密碼時更新數據庫中的狀態)。
是否可以用denyCallback做到這一點,或者有沒有辦法使用重定向到登錄頁面重定向到其他頁面?