ユーザーの役割に基づいてユーザーをリダイレクトし、これに基づいてアクセスを設定する簡単な方法を考えようとしています。
たとえば、ユーザーが停止されている場合、その役割を「停止中」に変更します。そのユーザーがログインまたはページにアクセスすると、何が起こったのか、どのようにして停止を解除するのかを説明する情報を含むページにリダイレクトしたいと思います。彼らが他のコントローラー/アクションにアクセスしようとすると、その「中断された」ページに再度リダイレクトしたいと思います。
これが私のAppControllerにあるものです
public function isAuthorized($user=null) {
if (isset($user['role']) && $user['role'] === 'admin') {
return true;
}
return false;
}
このようなものを追加できますが、中断されたシナリオに対してのみカスタム リダイレクトとカスタム フラッシュ メッセージを使用できますか?
public function isAuthorized($user=null) {
if (isset($user['role']) && $user['role'] === 'admin') {
return true;
}
elseif(isset($user['role']) && $user['role'] === 'suspended'){
return false; //but somehow redirect to that 'suspended' page with flash message
}
else{
return false;
}
}