Я использую плагин для интеграции с Широ-Ваадином
@WebServlet(urlPatterns = "/*", name = "Test", asyncSupported = true,
initParams = @WebInitParam(name = Constants.I18N_PROVIDER,
value = "com.test.TranslationProvider"))
@VaadinServletConfiguration(productionMode = false)
@Slf4j
public class AppServlet extends VaadinServlet {
@Override
protected void servletInitialized() throws ServletException {
log.info("Init Shiro");
IniRealm iniRealm = new IniRealm("classpath:shiro.ini");
DefaultSecurityManager securityManager = new DefaultSecurityManager(iniRealm);
// SessionDAO sessionDAO = new MemorySessionDAO();
// ((DefaultSessionManager) securityManager.getSessionManager()).setSessionDAO(sessionDAO);
// securityManager.setCacheManager(new MemoryConstrainedCacheManager());
SecurityUtils.setSecurityManager(securityManager);
log.info("Finish Init Shiro");
super.servletInitialized();
}
Суть проблемы заключается в том, что после входа в систему я выкидываю на главную страницу.
SecurityUtils.getSubject().isAuthenticated()
Возвращаем true.
Далее, при попытке навигации в приложении.
SecurityUtils.getSubject().isAuthenticated()
Возврат false.
Такое ощущение, что сеанс длится пару секунд
shiro.ini
[main]
authc.loginUrl = /signin
vaadin = org.vaadin.shiro.VaadinNavigationRolesAuthorizationFilter
vaadin.loginUrl = /signin
[users]
admin@admin.com = 1@QWaszx, admin
user = user, user
[roles]
admin = *
user = action1:*
[urls]
/ = anon, vaadin
/signin = anon, vaadin
/signup = anon, vaadin
/forgot-password = anon, vaadin
/reset-password = anon, vaadin
/registration-complete = anon, vaadin
/create-account = anon, vaadin
/payment = anon, vaadin
/environment = authc, vaadin[admin]
/billing = authc, vaadin[admin]
/settings = authc, vaadin[admin]
Если мы быстро перейдем по ссылке после авторизации, она пройдет.И если ждать, пока приложение падает