Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Spring Security 3 проблема миграции с 2 версии 
:(
    Опции темы
acvilon
  Дата 11.1.2010, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 16.4.2007
Где: Spb

Репутация: нет
Всего: нет



Решил я перевести проектик на третью версию спринга и отгреб проблем.
В тему призывается, MisterCleric.
Код

<?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-3.0.xsd
           http://www.springframework.org/schema/security
           http://www.springframework.org/schema/security/spring-security-3.0.xsd">


    <http entry-point-ref="authenticationProcessingFilterEntryPoint">
        <custom-filter position="BASIC_AUTH_FILTER" ref="authenticationProcessingFilter"/>
        <custom-filter position="REMEMBER_ME_FILTER" ref="rememberMeProcessingFilter"/>
        <custom-filter position="LOGOUT_FILTER" ref="logoutFilter"/>
        <!-- Allow access welcome.htm to anyone (even un-authenticated users) -->
        <!--<intercept-url pattern="/welcome.htm" access="IS_AUTHENTICATED_ANONYMOUSLY"/>-->
        <intercept-url pattern="/test_ajax.jsp" filters="none"/>

        <!-- Don't apply any filters to the login form either, we want unauthenticated users to be able to see this -->
        <intercept-url pattern="/recovery" filters="none"/>
        <intercept-url pattern="/controller/recovery_password" filters="none"/>

        <intercept-url pattern="/design/**" filters="none"/>

        <intercept-url pattern="/**" access="ROLE_USER, ROLE_ORGANIZATION"/>

        <anonymous/>
        <http-basic/>
    </http>

    <authentication-manager alias="authenticationManager">
        <authentication-provider ref="userDetailsService"/>
        <authentication-provider ref="rememberMeAuthenticationProvider"/>
    </authentication-manager>

    <!-- I've defined a custom UserDetails service to lookup users in my db using me own implementation -->
    <beans:bean id="userDetailsService" class="ru.iamready.security.UserDetailsServiceImpl">
        <beans:property name="loginInfoDAO" ref="loginInfoDAO"/>
    </beans:bean>

    <beans:bean id="authenticationProcessingFilterEntryPoint"
                class="org.springframework.security.web.authentication.LoginUrlAuthenticationEntryPoint">
        <beans:property name="loginFormUrl" value="/start"/>
        <beans:property name="forceHttps" value="false"/>
    </beans:bean>

    <!-- custom form authentication filter - overridden so I can do some other business logic when a user logs in (update login count etc) -->
    <beans:bean id="authenticationProcessingFilter"
                class="org.springframework.security.web.authentication.AuthenticationProcessingFilter">
        <!-- sets this as the authentication filter over the default -->

        <beans:property name="authenticationManager" ref="authenticationManager"/>
        <!--<beans:property name="authenticationFailureUrl" value=""/>-->
        <!--<beans:property name="defaultTargetUrl" value="/start"/>-->
        <!--<beans:property name="targetUrlResolver" ref="roleBasedTargetUrlResolver"/>-->
        <beans:property name="authenticationFailureHandler" ref="authenticationFailureHandler"/>
        <beans:property name="authenticationSuccessHandler" ref="authenticationSuccessHandler"/>
        <beans:property name="filterProcessesUrl" value="/j_spring_security_check"/>
        <beans:property name="continueChainBeforeSuccessfulAuthentication" value="false"/>
        <beans:property name="rememberMeServices" ref="rememberMeServices"/>
    </beans:bean>

    <beans:bean id="authenticationFailureHandler" class="ru.iamready.security.AuthentificationFailureHandlerImpl">
        <beans:property name="authenticationFailureUrl" value="/start?authfailed=true"/>
    </beans:bean>

    <beans:bean id="authenticationSuccessHandler" class="ru.iamready.security.AuthentificationSuccessHandlerImpl">
        <beans:property name="organizationRoleTargetUrl" value="/org"/>
        <beans:property name="userRoleTargetUrl" value="/user"/>
    </beans:bean>

    <!-- Override RememberMeProcessingFilter to allow application of other business logic (update login count when user returns to the site -->
    <beans:bean id="rememberMeProcessingFilter"
                class="org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter">

        <beans:property name="rememberMeServices" ref="rememberMeServices"/>
        <beans:property name="authenticationManager" ref="authenticationManager"/>
    </beans:bean>

    <!-- Defines which remember me implementation to use - in this case using a database table to log 'remembered' tokens -->
    <beans:bean id="rememberMeServices" class="ru.iamready.security.PersistentAuthTokenRememberMeServices">
        <beans:property name="tokenRepository" ref="authTokenDAO"/>
        <beans:property name="userDetailsService" ref="userDetailsService"/>
        <beans:property name="key" value="springRocks"/>
        <beans:property name="alwaysRemember" value="false"/>
        <beans:property name="cookieName" value="iamready_cookie_name"/>
        <!--Время жизни токена 10*60*60 секунд-->
        <beans:property name="tokenValiditySeconds" value="36000"/>
        <beans:property name="seriesLength" value="20"/>
        <beans:property name="tokenLength" value="20"/>
        <beans:property name="parameter" value="is_remember"/>
    </beans:bean>

    <beans:bean id="rememberMeAuthenticationProvider"
                class="org.springframework.security.authentication.RememberMeAuthenticationProvider">
        <!-- This ensures that remember-me is added as an authentication provider -->
        <beans:property name="key" value="springRocks"/>
    </beans:bean>

    <beans:bean id="logoutFilter" class="org.springframework.security.web.authentication.logout.LogoutFilter">

        <beans:property name="filterProcessesUrl" value="/logout"/>

        <beans:constructor-arg value="/start?loggedout=true"/>
        <!-- URL redirected to after logout -->
        <beans:constructor-arg>
            <beans:list>
                <!-- I add a bean here to perform some custom tasks when the user logs out -->
                <beans:ref bean="rememberMeServices"/>
                <beans:bean class="ru.iamready.security.LogoutHandlerImpl"/>
            </beans:list>
        </beans:constructor-arg>

    </beans:bean>

    <beans:bean id="loggerListener" class="org.springframework.security.authentication.event.LoggerListener"/>
</beans:beans>


Вот настройки секьюрити. Вот что выдается при деплое:

[2010-01-11 19:17:32,047 DEBUG [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] Loaded 15 bean definitions from location pattern [WEB-INF/applicationContext.xml]
2010-01-11 19:17:32,048 INFO  [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] Loading XML bean definitions from ServletContext resource [/WEB-INF/securityContext.xml]
2010-01-11 19:17:32,052 DEBUG [org.springframework.beans.factory.xml.DefaultDocumentLoader] Using JAXP provider [org.apache.xerces.jaxp.DocumentBuilderFactoryImpl]
2010-01-11 19:17:32,056 DEBUG [org.springframework.beans.factory.xml.PluggableSchemaResolver] Found XML schema [http://www.springframework.org/schema/beans/spring-beans-3.0.xsd] in classpath: org/springframework/beans/factory/xml/spring-beans-3.0.xsd
2010-01-11 19:17:33,361 DEBUG [org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader] Loading bean definitions
2010-01-11 19:17:33,402 ERROR [org.springframework.web.context.ContextLoader] Context initialization failed
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/schema/security]
Offending resource: ServletContext resource [/WEB-INF/securityContext.xml]

    at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68)
    at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85)
    at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:80)
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.error(BeanDefinitionParserDelegate.java:284)
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1332)
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1325)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:136)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:93)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:493)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:390)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)

И никак не могу решить проблему. Хелп плз. Мучаюсь уже полдня. 
PM MAIL ICQ   Вверх
MisterCleric
Дата 11.1.2010, 20:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1043
Регистрация: 16.2.2006
Где: Харьков, Украина

Репутация: 33
Всего: 38



Привет. А у тебя лежит в CLASSPATH такой jar:

spring-security-config-3.0.0.RELEASE.jar

Вот в нем и схема и хендлер...


--------------------
ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ...
PM MAIL ICQ   Вверх
acvilon
  Дата 11.1.2010, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 16.4.2007
Где: Spb

Репутация: нет
Всего: нет



А артифакт мавеновский у этой Либы есть? 
PM MAIL ICQ   Вверх
MisterCleric
Дата 11.1.2010, 23:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1043
Регистрация: 16.2.2006
Где: Харьков, Украина

Репутация: 33
Всего: 38



Я в мавене не шарю. Укажи его по аналогу с core.jar.
Я просто руками с сайта скачал весь релиз. А там также самплы есть


--------------------
ПРИШЕЛ, УВИДЕЛ - ПЕРЕПИСАЛ...
PM MAIL ICQ   Вверх
Старовъръ
Дата 14.1.2010, 10:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 8.5.2008

Репутация: 1
Всего: 10



PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0730 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.