Nano Hash - криптовалюты, майнинг, программирование

Интеграция безопасности в приложение Spring MVC (выпуск applicationContext)

Я создал приложение Spring MVC и довел его до продвинутого уровня.

Теперь моя задача — интегрировать в него Spring Security. И теперь я следую этому учебник по весенней безопасности. Теперь проблема в том, что в моем приложении MVC уже есть applicationContext.xml, который является определением контекста родительского приложения для приложения MVC.

Как упоминалось в учебнике по безопасности, должен ли я добавить новый XML-файл контекста приложения для обеспечения безопасности? которые содержат код:

<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/security"
    xmlns:beans="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
                        http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-2.0.4.xsd">

    <global-method-security secured-annotations="disabled">
    </global-method-security>

    <http auto-config="true">
        <intercept-url pattern="/**" access="ROLE_USER" />
    </http>

    <authentication-provider>
        <user-service id="userDetailsService">
            <user name="username" password="password" authorities="ROLE_USER, ROLE_ADMIN" />
            <user name="test" password="test" authorities="ROLE_USER" />
        </user-service>
    </authentication-provider>
</beans:beans>

Заранее спасибо.

P.S. / РЕДАКТИРОВАТЬ: Или мне просто скопировать его в исходный/существующий файл applicationContext.xml моего приложения MVC?


Ответы:


1

Нет никаких проблем или конфликтов с вашим другим контекстом. Вы можете записать конфигурацию безопасности, например, в context/applicationContext-security.xml, а затем просто загрузить все свои файлы контекста из web.xml.

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath*:context/applicationContext*.xml</param-value>
    </context-param>
20.02.2012
  • Спасибо большое. У меня есть еще один вопрос: вот taglib в файле web.xml моего приложения MVC. Есть идеи, для чего это? 20.02.2012
  • 1) О каком taglib вы говорите? 2) Как указал Ральф, этот учебник устарел, вы должны использовать его с помощью Spring 3.0. 20.02.2012

  • 2

    Лучше всего иметь отдельные файлы конфигурации spring для обычной конфигурации bean-компонента и еще один для безопасности.

    Но имя не имеет значения! Вы можете назвать один, например, applicationContext.xml, а затем другой applicationContext-security.xml

    Кстати: Учебное пособие — это учебное пособие по Spring 2, вам следует ознакомиться с Учебным пособием, в котором используются Spring 3.0 и Spring Security 3.0! -- Spring Security 3.0 сильно отличается от Spring Security 2.0!

    20.02.2012
  • Большое спасибо за добрый совет. 20.02.2012
  • Означает ли это, что пружина 2 несовместима с безопасностью пружины 3? Что, если я использую Spring 2.0.4 вместо версии 3.0? 20.02.2012
  • @AbdulAziz: Это не настоящий вопрос, вы уже знаете ответ. 20.02.2012
  • Мне жаль. Японял твою точку зрения. Это потому, что у меня очень мало времени для выполнения задачи, и я беспокоюсь об этом. Спасибо 20.02.2012
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..