Хобрук: Ваш путь к мастерству в программировании

PreAuthorize и Secured не работают

Я использую Spring Security, и безопасность на уровне моего метода не работает с использованием PreAuthorize или Secured.

@PreAuthorize("hasRole('ROLE_USER')")

Но он работает из файла security-context.xml следующим образом:

<security:intercept-url pattern="/fillinvoice" access="hasRole('ROLE_USER')"></security:intercept-url>

У меня есть глобальная безопасность как:

<global-method-security pre-post-annotations="enabled" secured-annotations="enabled" jsr250-annotations="enabled"/>

Я знаю, что есть много подобных сообщений, и я прочитал их и ответы на часто задаваемые вопросы Spring, но не смог понять. Пожалуйста, помогите .. Мой файл контекста, как показано ниже:

<global-method-security pre-post-annotations="enabled" secured-annotations="enabled" jsr250-annotations="enabled"/>

<context:annotation-config/>
<context:component-scan base-package="com.inventory" />
    <security:http auto-config="false" use-expressions="true">
        <security:intercept-url pattern="/login" access="permitAll"></security:intercept-url>
        <security:intercept-url pattern="/fillinvoice" access="hasRole('ROLE_USER')"></security:intercept-url>


        <security:form-login login-page="/login"
            always-use-default-target="true" default-target-url="/fillinvoice"
            authentication-failure-url="/accessdenied"
            authentication-success-handler-ref="authSuccessHandler"></security:form-login>

        <security:logout  invalidate-session="true" success-handler-ref="myCustomLogoutSuccessHandler"></security:logout>


    </security:http>

    <security:authentication-manager alias="authenticationManager">
        <security:authentication-provider user-service-ref="authenticationCheck" />
    </security:authentication-manager>

    <beans:bean id="authenticationCheck" class="com.inventory.dao.impl.HibernateDaoImpl" ></beans:bean>
    <beans:bean id="authSuccessHandler"  class="com.inventory.security.SuccessAuthenticationHandler"></beans:bean>
    <beans:bean id="myCustomLogoutSuccessHandler"  class="com.inventory.security.MyCustomLogoutSuccessHandler"></beans:bean>

</beans:beans>

  • В каком слое вы используете аннотацию @PreAuthorize? 06.04.2014
  • Я использую @PreAuthorize на уровне контроллера. Контроллер также имеет другие bean-компоненты из службы (автоматически подключенные) для выполнения этой работы. 06.04.2014

Новые материалы

Я собираюсь научить вас Python шаг за шагом
Привет, уважаемый энтузиаст Python! 👋 Готовы погрузиться в мир Python? Сегодня я приготовил для вас кое-что интересное, что сделает ваше путешествие более приятным, чем шарик мороженого в..

Альтернатива шаблону исходящих сообщений для архитектуры микросервисов
Познакомьтесь с двухэтапным сообщением В этой статье предлагается альтернативный шаблон для папки Исходящие : двухэтапное сообщение. Он основан не на очереди сообщений, а на..

React on Rails
Основное приложение Reverb - это всеми любимый монолит Rails. Он отлично обслуживает наш API и уровень просмотра трафика. По мере роста мы добавляли больше интерактивных элементов..

Что такое гибкие методологии разработки программного обеспечения
Что представляют собой гибкие методологии разработки программного обеспечения в 2023 году Agile-методологии разработки программного обеспечения заключаются в следующем: И. Введение A...

Ториго  — революция в игре Го
Наш следующий вызов против ИИ и для ИИ. Сможет ли он победить людей в обновленной игре Го? Обратите внимание, что в следующей статье AI означает искусственный интеллект, а Goban  —..

Простое развертывание моделей с помощью Mlflow — Упаковка классификатора обзоров продуктов NLP от HuggingFace
Как сохранить свои модели машинного обучения в формате с открытым исходным кодом с помощью MLFlow, чтобы позже получить возможность легкого развертывания. Сегодня модели упаковки имеют несколько..

Математика и интуиция - Часть 1
У каждой математической формулы есть доказательство. Часто эти доказательства слишком сложно понять, поскольку многие из них основаны на индукции, некоторые - на очень сложных наблюдениях, а..