Класс экземпляра Spring Security - PullRequest
0 голосов
/ 22 декабря 2011

Когда я создаю какой-то класс, как показано ниже

@Controller
public class MYTokenEndpoint extends AbstractEndpoint {

    public MYTokenEndpoint(){
        System.out.println("A");
    }


    @RequestMapping(value = "/oauth/itop_token")

его конструктор вызывается с этим журналом

org.springframework.beans.factory.support.DefaultListableBeanFactory - Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@198d9cf: defining beans

и после вызова конструктора он снова вызывается с этим журналом

org.springframework.security.access.method.DelegatingMethodSecurityMetadataSource - Adding security method

что там произошло?

спасибо

Я нахожу некоторые проблемы, когда мое веб-приложение загружает компоненты

my web.xml ls как показано ниже

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

    <display-name>secyrity</display-name>

    <filter>
        <filter-name>springSecurityFilterChain</filter-name>
        <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
        <init-param>
            <param-name>contextAttribute</param-name>
            <param-value>org.springframework.web.servlet.FrameworkServlet.CONTEXT.action</param-value>
        </init-param>
    </filter>

      <filter>
        <filter-name>encodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>utf-8</param-value>
        </init-param>
    </filter>

    <filter-mapping>
        <filter-name>encodingFilter</filter-name>
        <url-pattern>*.do</url-pattern>
    </filter-mapping>

    <filter-mapping>
        <filter-name>springSecurityFilterChain</filter-name>
        <url-pattern>/restful/*</url-pattern>
        <url-pattern>/oauth/*</url-pattern>
    </filter-mapping>

    <!-- The definition of the Root Spring Container shared by all Servlets and Filters -->
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath*:com/my/secyrity/config/spring/context-*.xml</param-value>
    </context-param>

    <!-- Creates the Spring Container shared by all Servlets and Filters -->
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <!-- Processes application requests -->
    <servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/config/secyrity/springmvc/secyrity-*.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
        <url-pattern>/restful/*</url-pattern>
        <url-pattern>/oauth/*</url-pattern>
    </servlet-mapping>

    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>

    <login-config>
        <auth-method>BASIC</auth-method>
    </login-config>

    <session-config>
        <session-timeout>3600</session-timeout>
    </session-config>

    <!--     
    <error-page>
      <error-code>404</error-code>
      <location>/code404.jsp</location>
    </error-page>
    <error-page>
      <error-code>500</error-code>
      <location>/code500.jsp</location>
    </error-page>
     -->
</web-app>

ContextLoadListner загружает мой контроллер один раз и

Пружина безопасности дважды включала мой контроллер

как я могу это исправить

спасибо

1 Ответ

0 голосов
/ 22 декабря 2011

Когда аспекты применяются с использованием прокси CGLIB, конструктор проксируемого класса вызывается дважды, это нормальное поведение, см. 7.6 Механизмы прокси .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...