Доступ к пути (www.mywebsite.com/admin/) разрешен только с помощью ROLE_ADMIN и других путей (www. mywebsite.com/....) разрешен доступ с помощью ROLE_USER или ROLE_ANONYMOUS. У меня есть два разных класса (расширяет WebSecurityConfigurerAdapter) для этой политики, и они успешно выполняются.Несколько WebSecurityConfigurerAdapters работают правильно в весенней безопасности 3.2.5.RELEASE, но JSESSIONID перезаписывается в разных браузерах.
Проблема при входе в систему как ROLE_ADMIN в www.mywebsite.com/admin/ .. в одном браузере, а затем я войти в систему как ROLE_USER в www.mywebsite.com/... в другом браузере, и затем я перехожу на сайт www.mywebsite.com/admin/.., моя информация сеанса администратора (ROLE_ADMIN) перезаписывается информацией о сеансе пользователя, поэтому я получаю сообщение об ошибке (Permission Deny).
Мое понимание обоих классов (расширяет WebSecurityConfigurerAdapter) использует одно и то же имя сеанса (JSESSIONID), поэтому информация ROLE_USER перезаписывает информацию ROLE_ADMIN, хотя в разных браузерах.
Если я не использую Spring Security, я предоставил два разных имени сеанса для ROLE_ADMIN и ROLE_USER, и я могу использовать обе роли одновременно в разных браузерах.
Есть ли способ решить эту проблему с помощью Spring Security? Пожалуйста, дайте мне хорошие идеи. Спасибо заранее
ли другой браузер (т.е. Firefox и хром) или окно/вкладку разные. В последнем случае вы в основном переопределяете информацию о сеансе, и именно так работают браузеры, это первое, что не должно произойти, и у вас есть еще одна проблема. –