0

SecureSocial モジュールを実装し、それを介してログインを提供しています。さまざまなユーザーに対して、メインコントローラーアプリケーションでログインがチェックされた後、さまざまなロールとリダイレクトをマップしました。

public class Application extends Controller {

    /**
     * This action only gets called if the user is logged in.
     *
     * @return
     */
    @SecureSocial.SecuredAction
    public static Result index() { 
        User currentUser = User.findByEmail(SecureSocial.currentUser().id().id());
        List<UserRole> userRoles = currentUser.getUserRoles();

        for(UserRole ur : userRoles) {
            if(ur.getRole().equals(RoleEnum.ROLE_EMPLOYEE)) {
                return ok(..);                          
        }
        return ok(home.render());
    }

これによると、ロール ROLE_EMPLOYEE に対して一部のページが拒否されます。ただし、ログアウトすると、最後の URL が PLAY_SESSION Cookie に保存され、以前の役割のユーザーでログインした後、アプリケーションは自動的に間違ったページにリダイレクトされます。それをどうするかについてのアイデアはありますか?

4

1 に答える 1