Недавно, когда я написал проекты с SpringMVC, я столкнулся с проблемой, которая является проблемой аутентификации метода. Эта проблема была решена в течение дня и, наконец, решена. Давайте посмотрим на решение ниже.
Требования к проекту: Если требуется аутентификация, мне нужно только пометить ее, например, только операция, которая может быть выполнена входом пользователя. Как правило, мы сначала подтвердим ввод идентификации пользователя при выполнении метода, который невидимо увеличивает большую рабочую нагрузку и воссоздает колесо. С помощью аннотаций Java вам нужно только пометить его по методу, который требует аутентификации:
Решение:
1. Сначала создайте класс аннотаций:
@Документирован@ineredicated@target ({elementtype.method, elementtype.type})@hareveration (artentionpolicy.runtime) public @Interface auth {boolean validate () по умолчанию true;}2. Создайте еще один перехват:
Общедоступный класс Authinterceptor Extends BaseInterceptor {@Override Public Boolean Prehandle (httpservlectrequest, httpservletresponse ответ, обработчик объекта) Throws Exception {if (handler.getClass (). Isassignablefrom (handlermethod.class)) {authpassport = (handlermethodfrom) Handler) .getMethodannotation (auth.class); // Нет разрешения не объявлено, или не объявляется разрешение не подтверждено, если (authpassport == null) {return true;} else {// реализовать свою собственную логику проверки разрешения здесь, если (true) {// Если версии успешна, вернуть True. Verification "); return True;} else {// Если проверка не удастся // возвращать в интерфейс login // system.out.println (" Проверка разрешения является правильной "); // response.sendredirect (" account/login "); return false;}}} else {return true;}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}3. Настройте перехватчик: вам нужно добавить следующий код в *-Servlet.xml. Если вы настраиваете файл конфигурации, вы также можете напрямую поместить его в определенный вами файл конфигурации.
<MVC: Interceptors> <Bean/> </mvc: Interceptors>
Примечание. Вам необходимо изменить по умолчанию на запрос MappingHandlermapping и добавить бобы requestMappingHandlerAdapter
Просто перезапустите Tomcat.
Теплое напоминание: если вам нужна аутентификация для метода, вам нужно только ввести @Auth на методе. Если вам нужна аутентификация для всех методов класса, вам нужно только ввести @Auth в классе.
Таким образом, проблема в том, что перехватчик метода будет перехватывать статические ресурсы вместе. Нам нужно перехватить статические файлы в Tomcat, например: Мое решение - настройка их в web.xml. Если у вас есть хороший метод, вы также можете добавить мне QQ 752432995, чтобы обсудить его.
<Servlet-Mapping> <Servlet-name> по умолчанию </servlet-name> <url-pattern>*. jpg </url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name> по умолчанию </servlet-name> <url-pattern>*.
Суммировать
Выше приведено все содержание этой статьи о коде решения перехватчика аннотации, используемого для SpringMVC для аутентификации метода. Я надеюсь, что это будет полезно для всех. Заинтересованные друзья могут продолжать ссылаться на этот сайт:
Interceptor Springmvc реализует отдельный вход
Подробное объяснение того, срок действия сеанса мониторинга реализует сеанс мониторинга SpringMVC.
Если есть какие -либо недостатки, пожалуйста, оставьте сообщение, чтобы указать это. Спасибо, друзья, за вашу поддержку на этом сайте!