Я не уверен, хорошо ли я понял, как работает эта стратегия.В моем приложении у меня есть две отдельные формы входа, одна для обычных пользователей и вторая только для администратора (не спрашивайте, почему, вот так :))
Я пытаюсь добиться правильного перенаправления.В моем классе WebApplication у меня есть:
init() {
//...ommited some not related code
CompoundAuthorizationStrategy compoundAuthorizationStrategy = new CompoundAuthorizationStrategy();
IAuthorizationStrategy membertPageAuthStrategy = new SimplePageAuthorizationStrategy( MemberTemplatePage.class,
HomePage.class )
{
@Override
protected boolean isAuthorized()
{
//here's my way to define if authorization is completed
}
};
IAuthorizationStrategy adminPageAuthStrategy = new SimplePageAuthorizationStrategy( AdminTemplatePage.class,
AdminLoginPage.class )
{
@Override
protected boolean isAuthorized()
{
//here's my way to define if authorization is completed
}
};
compoundAuthorizationStrategy.add( membertPageAuthStrategy );
compoundAuthorizationStrategy.add( adminPageAuthStrategy );
getSecuritySettings().setAuthorizationStrategy( compoundAuthorizationStrategy );
//...
}
MemberTemplatePage - шаблон для входа на страницу пользователя, в то время как AdminTemplatePage - то же самое для администратора.Теперь я думаю, что с помощью этой цепочечной стратегии авторизации я буду перенаправлен на HomePage, когда я вхожу в MemberTemplatePage неавторизованным, и в AdminLoginPage, когда я вхожу неавторизованным в AdminTemplatePage, но я буду перенаправлен на AdminTemplatePage.Не могу ничего гуглить на CompoundAuthorizationStrategy, и, похоже, это лучший выбор для меня.Есть идеи, что я делаю не так?Я знаю о RoleAuth ~, но это не для меня.