1
어떤 이유로 든 my vote() 메서드에서 예상 한 authoritieObject가 FilterInvocation의 인스턴스이고 MethodInvocation이 필요했습니다. 왜 이런 일이 일어나는지 알 수 없습니다.스프링 보안 : FilterInvocation 대신 MethodInvocation을 사용하는 방법
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>
org.springframework.web.filter.DelegatingFilterProxy
</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
내 ApplicationContext를 :
<b:bean id="_methodDefinitionSourceAdvisor" class="org.springframework.security.intercept.method.aopalliance.MethodDefinitionSourceAdvisor">
<b:constructor-arg value="_methodSecurityInterceptor" />
<b:constructor-arg ref="_delegatingMethodDefinitionSource" />
</b:bean>
의 MethodSecurityInterceptor는 다음과 같이 정의된다 :이 같은
<b:bean id="_methodSecurityInterceptor" class="org.springframework.security.intercept.method.aopalliance.MethodSecurityInterceptor">
...
</b:bean>
및 delegatingMethodDefinitionSource을 :
내 web.xml 파일은 다음과 같다
<b:bean id="_delegatingMethodDefinitionSource" class="org.springframework.security.intercept.method.DelegatingMethodDefinitionSource">
...
</bean>
단서가 있습니까? 나는 정말로 작은 도움을 사용할 수있다!
코드를 추가 할 수 있습니까? – Gandalf
사실, 방금 일어난 일을 발견했습니다. 누군가 xml 구성 파일 중 하나에서 aspectj : autoproxy 태그를 제거했습니다. 그렇기 때문에 Spring은 빈을 올바르게 인스턴스화하지 못하여 인터셉터를 기본 컨테이너 인 FilterInterceptor로 남겨 두었습니다. 어쨌든 도움을 주셔서 고마워. 나는 대답을 최대한 빨리 게시 할 것이다. –