У меня реализован модуль 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-адрес сохраняется в файле cookie PLAY_SESSION, и после входа в систему с пользователем с ранее указанной ролью приложение автоматически перенаправляется на неправильную страницу. Есть идеи, что с этим делать?