Announcement Announcement Module
Collapse
No announcement yet.
conflict two aop and mvc:annotation-driven Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Driver
    started a topic conflict two aop and mvc:annotation-driven

    conflict two aop and mvc:annotation-driven

    I use aop and mvc:annotation-driven ,only oauth2 ,'app/oauth/authorize ' can be used.When i delete mvc:annotation-driven ,aop can be used.
    Any help?

  • Dave Syer
    replied
    OK, so did you fix the other problems? The <mvc:annotation-driven/> has to go in the servlet context, which you haven't defined unless I'm missing something, and the security filter needs its default settings (so remove the <init-param/>). You might be better off asking in the Spring Security or Spring MVC forums for general help on how to set up a Spring Security app with MVC, then come back here when you need more help with the OAuth filters.

    Leave a comment:


  • Driver
    replied
    I removed my first ContextLoaderListener ,But the problem remain.

    Leave a comment:


  • Driver
    replied
    If I use <mvc:annotation-driven /> in my app,it will cann’t get aop intercept log.If I note, aop will get intercept log.This is the problem in my app.Thaks….

    Leave a comment:


  • Dave Syer
    replied
    OK, that's a little clearer, but you still didn't say what the problem is really. Most of the problems I listed in my first response are still there, though, so maybe you should clean things up a bit before we go any deeper. A lot of weirdness will go away if you remove the extra ConetxtLoaderListener, but that won't get you to a working app until you fix the other stuff. For instance, if you use ContextLoaderListener to load your security context you need to use the default Spring Security filter configuration.

    Leave a comment:


  • Driver
    replied
    spring-mail.xml
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
    	xmlns:context="http://www.springframework.org/schema/context"
    	xmlns:aop="http://www.springframework.org/schema/aop"
    	xsi:schemaLocation="http://www.springframework.org/schema/beans
          http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
          http://www.springframework.org/schema/aop
          http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
          http://www.springframework.org/schema/tx
          http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
          http://www.springframework.org/schema/context
          http://www.springframework.org/schema/context/spring-context-3.1.xsd
          http://www.springframework.org/schema/jee
          http://www.springframework.org/schema/jee/spring-jee-3.1.xsd"
    	default-lazy-init="true">
    	<description>SPRING MAIL</description>
    
    	<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
    		<property name="host">
    			<value>smtp.163.com</value>
    		</property>
    		<property name="javaMailProperties">
    			<props>
    				<prop key="mail.smtp.auth">true</prop>
    			</props>
    		</property>
    		<property name="username">
    			<value>cupsMail</value>
    		</property>
    		<property name="password">
    			<value>cupsmail123</value>
    		</property>
    	</bean>
    
    </beans>

    Leave a comment:


  • Driver
    replied
    spring-dao.xml
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
    	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:jee="http://www.springframework.org/schema/jee"
    	xmlns:context="http://www.springframework.org/schema/context"
    	xsi:schemaLocation="http://www.springframework.org/schema/beans
          http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
          http://www.springframework.org/schema/aop
          http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
          http://www.springframework.org/schema/tx
          http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
          http://www.springframework.org/schema/context
          http://www.springframework.org/schema/context/spring-context-3.1.xsd
          http://www.springframework.org/schema/jee
          http://www.springframework.org/schema/jee/spring-jee-3.1.xsd"
    	default-lazy-init="true">
    	<description>DAO CONFIG</description>
    
    	<context:annotation-config />
    	<context:component-scan base-package="com.cups" /> 
    
    	  <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close">
    		<property name="url" value="jdbc:mysql://127.0.0.1:3306/cups?useUnicode=true&amp;characterEncoding=UTF-8" />
    		<property name="username" value="root" />
    		<property name="password" value="root" />
    		<property name="initialSize" value="1" />
    		<property name="maxActive" value="200" />
    	</bean>
    	
    
    	
    	<bean id="sessionFactory"
    		class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
    		<property name="dataSource" ref="dataSource" />
    		<property name="hibernateProperties">
    
    		  
    			<props>
    				<prop key="hibernate.dialect" >org.hibernate.dialect.MySQLDialect</prop>
    				
    			</props>
    		
    			
    		
    		</property>
    		<property name="packagesToScan">
    			<list>
    
    				<value>com.cups.testModel</value>
    				<value>com.cups.business.web.model</value>
    				<value>com.cups.process.web.model</value>
    				<value>com.cups.process.core.mvc.model</value>
    				<value>com.cups.business.web.support.schedule.model</value>
    				<value>com.cups.business.web.support.menu.model</value>
    				<value>com.cups.business.web.support.resource.model</value>
    				<value>com.cups.business.web.support.dict.model</value>
    				<value>com.cups.business.web.workbench.bizdata.model</value>
    				<value>com.cups.business.web.workbench.agent.model</value>
    				<value>com.cups.business.web.integration.oauth2.model</value>
    				<value>com.cups.business.web.attachment.manager.model</value>
    			</list>
    		</property>
    	</bean>
    	
    	<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate" >
        	<property name="dataSource" ref="dataSource" />
        </bean>
    
    
    	<bean id="transactionManager"
    		class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    		<property name="sessionFactory" ref="sessionFactory" />
    		<property name="dataSource" ref="dataSource" />
    	</bean>
    	
    
        <bean id="SpringTransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
            <property name="dataSource">
                <ref bean="dataSource"/>
            </property>
        </bean>
    	
    
    
    	<bean id="genericHibernateDAO" class="com.cups.process.core.mvc.dao.impl.GenericDAO">
    		<property name="sessionFactory" ref="sessionFactory" />
    	</bean>
    	
    
    	<bean class="com.cups.process.core.common.primarykey.SequenceFactory" init-method="init">
    		<property name="uniqueTableApp">
    			<bean class="com.cups.process.core.common.primarykey.impl.CUPSDefaultUniqueTableApp">
    		    	<constructor-arg index="0" ref="dataSource" />
    		    </bean>
    		</property>
    	</bean>
        
    	<tx:annotation-driven transaction-manager="transactionManager" />
    
    </beans>

    Leave a comment:


  • Driver
    replied
    spring-cache.xml
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    	xmlns:aop="http://www.springframework.org/schema/aop" 
    	xsi:schemaLocation="http://www.springframework.org/schema/beans
          http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
          http://www.springframework.org/schema/aop
          http://www.springframework.org/schema/aop/spring-aop-3.1.xsd">
    
    	<bean id="userCache"
    		class="org.springframework.security.core.userdetails.cache.EhCacheBasedUserCache">
    		<property name="cache" ref="userEhCache" />
    	</bean>
    	<bean id="userEhCache" class="org.springframework.cache.ehcache.EhCacheFactoryBean">
    		<property name="cacheName" value="userCache" />
    		<property name="cacheManager" ref="cacheManager" />
    	</bean>
    
    	<bean id="cacheManager"
    		class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean" />
    </beans>

    Leave a comment:


  • Driver
    replied
    spring-web.xml
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
    	xmlns:context="http://www.springframework.org/schema/context"
    	xmlns:aop="http://www.springframework.org/schema/aop"
    	xmlns:mvc="http://www.springframework.org/schema/mvc"
    	xsi:schemaLocation="http://www.springframework.org/schema/beans
          http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
          http://www.springframework.org/schema/aop
          http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
          http://www.springframework.org/schema/tx
          http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
          http://www.springframework.org/schema/context
          http://www.springframework.org/schema/context/spring-context-3.1.xsd
          http://www.springframework.org/schema/jee
          http://www.springframework.org/schema/jee/spring-jee-3.1.xsd
           http://www.springframework.org/schema/mvc 
                            http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd"
    	default-lazy-init="true">
    	<description>SPRING MVC</description>
    	<mvc:annotation-driven />
    	<mvc:default-servlet-handler />	
    	<context:annotation-config />
    	<context:component-scan base-package="com.cups" />
    
    	<bean
    		class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
    	<bean
    		class="org.springframework.web.servlet.view.InternalResourceViewResolver"
    		p:prefix="/views/" p:suffix=".jsp" />
    
    	<bean id="multipartResolver"
    		class="org.springframework.web.multipart.commons.CommonsMultipartResolver"
    		p:defaultEncoding="utf-8" />
    
    	<bean id="viewResolver"
    		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    		<property name="prefix" value="views/" />
    		<property name="suffix" value=".jsp" />
    	</bean>
    
    	<bean id="messageSource"
    		class="org.springframework.context.support.ResourceBundleMessageSource">
    		<property name="basename" value="messages" />
    	</bean>
    
    
    	<bean id="doubleSubmitInterceptor"
    		class="com.cups.process.core.interceptor.RepeatSubmitInterceptor">
    
    		<property name="mappingURL" value=".*method=saveForm\w*|.*method=saveSimpleForm\w*|.*method=submitSimpleForm\w*|.*method=submitForm\w*" />
    	</bean>
    	<bean
    		class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
    		<property name="interceptors">
    			<list>
    				<ref bean="doubleSubmitInterceptor" />
    			</list>
    		</property>
    	</bean>
    
    	<bean id="testLicenseBean"
    		class="com.cups.process.core.license.ValidateLicense" init-method="init">
    	</bean>
    
    	<bean id="logInterceptor" class="com.cups.process.core.interceptor.LogInterceptor"></bean>
    
    	<aop:config>
    		<aop:advisor id="logText" advice-ref="logInterceptor" pointcut="execution(* com.cups.testModel.service.*.*(..))" />
    	</aop:config>
    
    	<aop:config>
    		<aop:advisor id="biadata" advice-ref="logInterceptor"
    			pointcut="execution(* com.cups.business.web.workbench.bizdata.service.*.*(..))" />
    	</aop:config>
    	<aop:config>
    		<aop:advisor id="workitem" advice-ref="logInterceptor"
    			pointcut="execution(* com.cups.business.web.workbench.workitem.service.*.*(..))" />
    	</aop:config>
    
    	<aop:config>
    		<aop:advisor id="catalog" advice-ref="logInterceptor"
    			pointcut="execution(* com.cups.process.web.service.manager.catalog.*.*(..))" />
    	</aop:config>
    	</beans>
    spring-ws.xml
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jaxws="http://cxf.apache.org/jaxws"
    	xsi:schemaLocation="
    		http://www.springframework.org/schema/beans 
    			http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    		http://cxf.apache.org/jaxws 
    			http://cxf.apache.org/schemas/jaxws.xsd">
    
    	<!-- Import Apache CXF Bean Definition -->
    	<import resource="classpath:META-INF/cxf/cxf.xml" />
    	<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
    	<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
    
    	 <jaxws:endpoint id="processService" implementorClass="com.cups.process.web.webservice.workflow.ProcessService" 
    		address="/processService">
    	 </jaxws:endpoint>
    	 
    </beans>

    Leave a comment:


  • Driver
    replied
    spring-service.xml
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
    	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:jee="http://www.springframework.org/schema/jee"
    	xmlns:context="http://www.springframework.org/schema/context"
    	xsi:schemaLocation="http://www.springframework.org/schema/beans
          http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
          http://www.springframework.org/schema/aop
          http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
          http://www.springframework.org/schema/tx
          http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
          http://www.springframework.org/schema/context
          http://www.springframework.org/schema/context/spring-context-3.1.xsd
          http://www.springframework.org/schema/jee
          http://www.springframework.org/schema/jee/spring-jee-3.1.xsd"
    	default-lazy-init="true">
    	<description>service bean</description>
    
    	<bean id="processDesignerService" 
    		class="com.cups.process.web.service.manager.processes.impl.ProcessDefineDesignerService"></bean>
    	<bean id="processOperationDesignerService" 
    		class="com.cups.process.web.service.manager.processes.impl.ProcessOperationDesignerService"></bean>
    	<bean id="bizCatalogDesignerService"
    		class="com.cups.process.web.service.manager.processes.impl.BizCatalogDesignerService"></bean>
    	<bean id="processInstDesignerService"
    		class="com.cups.process.web.service.manager.processes.impl.ProcessInstDesignerService">
    	</bean>
    
    
    
    	<bean id="passwordEncoder"
    		class="org.springframework.security.authentication.encoding.Md5PasswordEncoder" />
    		
    
    	<bean id="wfOrganizationService"
    		class="com.cups.process.web.service.organization.api.OrganiaztionQueryService" />
    
    	<bean id="cacheManager"
    		class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean" />
    
    </beans>

    Leave a comment:


  • Driver
    replied
    this is my all config.
    web.xml
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    	id="WebApp_ID" version="2.5">
    	<display-name>cups</display-name>
    	<listener>
    		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    	</listener>
    	<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.spring</param-value>
    		</init-param>
    	</filter>
    	<filter-mapping>
    		<filter-name>springSecurityFilterChain</filter-name>
    		<url-pattern>/*</url-pattern>
    	</filter-mapping>
    	<servlet>
    		<servlet-name>spring</servlet-name>
    		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    		<init-param>
    			<param-name>contextConfigLocation</param-name>
    			<param-value>classpath:spring-web.xml</param-value>
    		</init-param>
    		<load-on-startup>1</load-on-startup>
    	</servlet>
    	<servlet-mapping>
    		<servlet-name>spring</servlet-name>
    		<url-pattern>/*</url-pattern>
    	</servlet-mapping>
    	<listener>
    		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    	</listener>	
    	<!-- Web Service-->
    	<servlet>
    		<servlet-name>CXFServlet</servlet-name>
    		<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
    		<load-on-startup>1</load-on-startup>
    	</servlet> 
    	<!-- CXFServlet Mapping -->
    	<servlet-mapping>
    		<servlet-name>CXFServlet</servlet-name>
    		<url-pattern>/ws/*</url-pattern>
    	</servlet-mapping>
    	<!-- Flex config start... -->
    	<!-- Http Flex Session attribute and binding listener support -->
    	<listener>
    		<listener-class>flex.messaging.HttpFlexSession</listener-class>
    	</listener>
    	<!-- MessageBroker Servlet -->
    	<servlet>
    		<servlet-name>MessageBrokerServlet</servlet-name>
    		<servlet-class>flex.messaging.MessageBrokerServlet</servlet-class>
    		<init-param>
    			<param-name>services.configuration.file</param-name>
    			<param-value>/WEB-INF/flex/services-config.xml</param-value>
    		</init-param>
    		<load-on-startup>2</load-on-startup>
    	</servlet>
    	<servlet-mapping>
    		<servlet-name>MessageBrokerServlet</servlet-name>
    		<url-pattern>/messagebroker/*</url-pattern>
    	</servlet-mapping>
    	<!-- Flex config end!!! -->
    	<session-config >
    		<session-timeout>100</session-timeout>
    	</session-config>
    	<welcome-file-list>
    		<welcome-file>default.jsp</welcome-file>
    	</welcome-file-list>
    	
    	<error-page>
        	<error-code>500</error-code>
       		<location>/views/commons/500.jsp</location>
    	</error-page>
    	
    </web-app>
    applicationContext.xml
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx"
    	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:jee="http://www.springframework.org/schema/jee"
    	xmlns:context="http://www.springframework.org/schema/context"
    	xsi:schemaLocation="http://www.springframework.org/schema/beans
          http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
          http://www.springframework.org/schema/aop
          http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
          http://www.springframework.org/schema/tx
          http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
          http://www.springframework.org/schema/context
          http://www.springframework.org/schema/context/spring-context-3.1.xsd
          http://www.springframework.org/schema/jee
          http://www.springframework.org/schema/jee/spring-jee-3.1.xsd"
    	default-lazy-init="true">
    	<description>SPRING CONFIG</description>
    	<import resource="classpath:spring-service.xml" />
    	<import resource="classpath:spring-cache.xml" />
    	<import resource="classpath:spring-dao.xml" />
    	<import resource="classpath:spring-security.xml" />
    	<!-- --> <import resource="classpath:spring-ws.xml" />
    	<import resource="classpath:spring-mail.xml" />
    	<import resource="classpath:META-INF/workflow.xml" />
    </beans>
    spring-security.xml
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <b:beans xmlns="http://www.springframework.org/schema/security"
    	xmlns:b="http://www.springframework.org/schema/beans" 
    	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xmlns:oauth="http://www.springframework.org/schema/security/oauth2"
    	xsi:schemaLocation="http://www.springframework.org/schema/security/oauth2 
    						http://www.springframework.org/schema/security/spring-security-oauth2-1.0.xsd
    						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.1.xsd
                           ">
    	<http  entry-point-ref="authenticationProcessingFilterEntryPoint" realm="cups" >
    		<intercept-url pattern="/photos" access="ROLE_USER" />
    		<intercept-url pattern="/photos/**" access="ROLE_USER" />
    		<intercept-url pattern="/trusted/**" access="ROLE_CLIENT" />
    		<intercept-url pattern="/user/**" access="ROLE_USER" />
    		<intercept-url pattern="/**/*.jpg" access="IS_AUTHENTICATED_ANONYMOUSLY" />
    		<intercept-url pattern="/messagebroker/amf" access="IS_AUTHENTICATED_ANONYMOUSLY"  />
    		<intercept-url pattern="/login.jsp*" access="IS_AUTHENTICATED_ANONYMOUSLY" />
    		<intercept-url pattern="/login.jsp" access="IS_AUTHENTICATED_ANONYMOUSLY" />	
    		<intercept-url pattern="/oauth2/authorize" access="IS_AUTHENTICATED_ANONYMOUSLY" />
    		<intercept-url pattern="/oauth2/**" access="IS_AUTHENTICATED_ANONYMOUSLY" />
    		<intercept-url pattern="/**" access="ROLE_USER" />
    		<logout delete-cookies="false" invalidate-session="true" logout-success-url="/login.jsp" logout-url="/logout.do" />
    		<session-management invalid-session-url="/views/process/default.jsp"  session-authentication-error-url="/login.jsp" >
    		<concurrency-control  max-sessions="10" error-if-maximum-exceeded="true"   />
    		</session-management>	
    		<custom-filter ref="validateCodeAuthenticationFilter" position="FORM_LOGIN_FILTER" />
    		<custom-filter ref="resourceServerFilter" before="EXCEPTION_TRANSLATION_FILTER" /> 
    		<custom-filter ref="myFilter" before="FILTER_SECURITY_INTERCEPTOR" />
    	</http>	
    	<b:bean id="authenticationProcessingFilterEntryPoint" class="org.springframework.security.web.authentication.LoginUrlAuthenticationEntryPoint">
    		<b:property name="loginFormUrl" value="/login.jsp" />	</b:bean>
    	<b:bean id="validateCodeAuthenticationFilter" class="com.cups.process.core.filter.ValidateCodeUsernamePasswordAuthenticationFilter">
    		<b:constructor-arg ref="dataSource" />
    		<b:property name="filterProcessesUrl" value="/login.do"></b:property		<b:property name="authenticationSuccessHandler"	ref="loginLogAuthenticationSuccessHandler"></b:property>
    		<b:property name="authenticationFailureHandler"	ref="simpleUrlAuthenticationFailureHandler"></b:property>
    		<b:property name="authenticationManager" ref="authenticationManager"></b:property>
    	</b:bean>
    	<b:bean id="loginLogAuthenticationSuccessHandler" class="org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler">
    		<b:property name="defaultTargetUrl" value="/views/process/default.jsp"></b:property	</b:bean>
    	<b:bean id="simpleUrlAuthenticationFailureHandler"	class="org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler">
    		<b:property name="defaultFailureUrl" value="/login.jsp"></b:property>	</b:bean>   
    	<b:bean id="myFilter"
    		class="com.cups.process.core.security.FilterSecurityInterceptorImpl">
    		<b:property name="authenticationManager" ref="authenticationManager" />
    		<b:property name="accessDecisionManager" ref="myAccessDecisionManager" />
    		<b:property name="securityMetadataSource" ref="mySecurityMetadataSource" />
    	</b:bean>
    	<b:bean id="myAccessDecisionManager"
    		class="com.cups.process.core.security.AccessDecisionManagerImpl">
    	</b:bean>
    	<b:bean id="mySecurityMetadataSource"
    		class="com.cups.process.core.security.InvocationSecurityMetadataSourceServiceImpl">
    	</b:bean>
    	<b:bean id="userDetailsManager" class="com.cups.process.core.security.UserDetailsServiceImpl">
    		<b:property name="userCache" ref="userCache" />
    	</b:bean>
    	<b:bean id="clientDetails" class="org.springframework.security.oauth2.provider.JdbcClientDetailsService">
    		<b:constructor-arg ref="dataSource"/>
    	</b:bean>
    	<authentication-manager  alias="authenticationManager">
    		<authentication-provider user-service-ref="userDetailsManager">
    			<password-encoder hash="md5" >
    				<salt-source  user-property="username"/>
    			</password-encoder>
    		</authentication-provider>
    	</authentication-manager>
    	<b:bean id="photoServices" class="com.cups.business.web.integration.oauth2.service.impl.PhotoServiceImpl">
    		<b:property name="photos">
    			<b:list><b:bean class="com.cups.business.web.integration.oauth2.model.PhotoInfo">
    					<b:property name="id" value="6" />
    					<b:property name="name" value="photo6.jpg" />
    					<b:property name="userId" value="admin" />
    					<b:property name="resourceURL" value="/com/cups/business/web/integration/oauth2/resources/photo6.jpg" />
    				</b:bean>
    			</b:list>
    		</b:property>
    	</b:bean>
    	<b:bean id="messageSource"	class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
    		<b:property name="basename" value="classpath:messages_zh_CN"></b:property>
    	</b:bean>
    </b:beans>

    Leave a comment:


  • Dave Syer
    replied
    I'm still not sure what you are saying the problem is, but there are some issues with your configuration. Here are a few off the top of my head:

    * You have 2 ContextLoaderListener instances (not sure what that does), and the web.xml looks invalid because the ordering is wrong. It's possible your container doesn't mind.

    * The ContextLoaderListener(s) use(s) the default config location which is applicationContext.xml and you haven't showed that file. Maybe it is doing something that explains all teh confusion?

    * The springSecurityFilterChain is going to look for a bean in the servlet context, which you haven't defined in the code you posted.

    * You only mapped *.do to the Spring Servlet. That's not going to work for the OAuth endpoints.

    * The OAuth endpoints are not defined in your servlet context (explcitly, although I suspect there are some things you haven't shown).

    * I can't see a definition of the resourceServerFilter bean anywhere

    None of this has anything to do with aop or mvc namespaces, but it's hard to get past the obvious errors to look for something more subtle.

    Leave a comment:


  • Driver
    replied
    config xml

    My config.
    Spring-security.xml
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <b:beans ***>
    
    	<http  entry-point-ref="authenticationProcessingFilterEntryPoint" realm="cups" >
    	
    		<intercept-url pattern="/photos" access="ROLE_USER,SCOPE_TRUST" />
    		<intercept-url pattern="/photos/**" access="ROLE_USER,SCOPE_TRUST" />
    		<intercept-url pattern="/trusted/**" access="ROLE_CLIENT,SCOPE_TRUST" />
    		<intercept-url pattern="/user/**" access="ROLE_USER,SCOPE_TRUST" />
    
    		<intercept-url pattern="/**/*.css" access="IS_AUTHENTICATED_ANONYMOUSLY" />
    		<intercept-url pattern="/messagebroker/amf" access="IS_AUTHENTICATED_ANONYMOUSLY"  />
    		
    		<intercept-url pattern="/login.jsp*" access="IS_AUTHENTICATED_ANONYMOUSLY" />
    		<intercept-url pattern="/login.jsp" access="IS_AUTHENTICATED_ANONYMOUSLY" />
    
    		<intercept-url pattern="/oauth2/authorize" access="IS_AUTHENTICATED_ANONYMOUSLY" />
    		<intercept-url pattern="/oauth2/**" access="IS_AUTHENTICATED_ANONYMOUSLY" />
    		<intercept-url pattern="/**" access="ROLE_USER,SCOPE_TRUST" />
    		 
    		<logout delete-cookies="false" invalidate-session="true" logout-success-url="/login.jsp" logout-url="/logout.do" />
    		
    		<session-management invalid-session-url="/views/process/default.jsp"  session-authentication-error-url="/login.jsp" >
    			<concurrency-control  max-sessions="10" error-if-maximum-exceeded="true"   />
    		</session-management>
    		<custom-filter ref="validateCodeAuthenticationFilter" position="FORM_LOGIN_FILTER" />
    		<custom-filter ref="resourceServerFilter" before="EXCEPTION_TRANSLATION_FILTER" /> -->
    		<custom-filter ref="myFilter" before="FILTER_SECURITY_INTERCEPTOR" />
    	</http>
    	<b:bean id="authenticationProcessingFilterEntryPoint" class="org.springframework.security.web.authentication.LoginUrlAuthenticationEntryPoint">
    		<b:property name="loginFormUrl" value="/login.jsp" />
    	</b:bean>
    	<b:bean id="validateCodeAuthenticationFilter" class="com.cups.process.core.filter.ValidateCodeUsernamePasswordAuthenticationFilter">
    		<b:constructor-arg ref="dataSource" />
    		<b:property name="filterProcessesUrl" value="/login.do"></b:property>
    		<b:property name="authenticationSuccessHandler"	ref="loginLogAuthenticationSuccessHandler"></b:property>
    		<b:property name="authenticationFailureHandler"	ref="simpleUrlAuthenticationFailureHandler"></b:property>
    		<b:property name="authenticationManager" ref="authenticationManager"></b:property>
    	</b:bean>
    	<b:bean id="loginLogAuthenticationSuccessHandler" class="org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler">
    		<b:property name="defaultTargetUrl" value="/views/process/default.jsp"></b:property><
    	</b:bean>
    	<b:bean id="simpleUrlAuthenticationFailureHandler"	class="org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler">
    		<b:property name="defaultFailureUrl" value="/login.jsp"></b:property>
    	</b:bean>   
    	<b:bean id="myFilter"
    		class="com.cups.process.core.security.FilterSecurityInterceptorImpl">
    		<b:property name="authenticationManager" ref="authenticationManager" />
    		<b:property name="accessDecisionManager" ref="myAccessDecisionManager" />
    		<b:property name="securityMetadataSource" ref="mySecurityMetadataSource" />
    	</b:bean>
    	<b:bean id="myAccessDecisionManager"
    		class="com.cups.process.core.security.AccessDecisionManagerImpl">
    	</b:bean>
    	<b:bean id="mySecurityMetadataSource"
    		class="com.cups.process.core.security.InvocationSecurityMetadataSourceServiceImpl">
    	</b:bean>
    	<b:bean id="userDetailsManager" class="com.cups.process.core.security.UserDetailsServiceImpl">
    		<b:property name="userCache" ref="userCache" />
    	</b:bean>
    	<b:bean id="clientDetails" class="org.springframework.security.oauth2.provider.JdbcClientDetailsService">
    		<b:constructor-arg ref="dataSource"/>
    	</b:bean>
    	<authentication-manager  alias="authenticationManager">
    		<authentication-provider user-service-ref="userDetailsManager">
    			<password-encoder hash="md5" >
    				<salt-source  user-property="username"/>
    			</password-encoder>
    		</authentication-provider>
    	</authentication-manager>
    	<b:bean id="photoServices" class="com.cups.business.web.integration.oauth2.service.impl.PhotoServiceImpl">
    		<b:property name="photos">
    			<b:list>
    				<b:bean class="com.cups.business.web.integration.oauth2.model.PhotoInfo">
    					<b:property name="id" value="5" />
    					<b:property name="name" value="photo5.jpg" />
    					<b:property name="userId" value="admin1" />
    					<b:property name="resourceURL" value="/com/cups/business/web/integration/oauth2/resources/photo5.jpg" />
    				</b:bean>
    			</b:list>
    		</b:property>
    	</b:bean>
    </b:beans>
    Spring-web.xml
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <beans *****"
    	default-lazy-init="true">
    	<description>SPRING MVC</description>
    	<mvc:annotation-driven />
    	<mvc:default-servlet-handler />	
    	<context:annotation-config />
    	<context:component-scan base-package="com.cups" />
    	<bean
    		class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" />
    	<bean
    		class="org.springframework.web.servlet.view.InternalResourceViewResolver"
    		p:prefix="/views/" p:suffix=".jsp" />
    	<bean id="multipartResolver"
    		class="org.springframework.web.multipart.commons.CommonsMultipartResolver"
    		p:defaultEncoding="utf-8" />
    	<bean id="viewResolver"
    		class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    		<property name="prefix" value="views/" />
    		<property name="suffix" value=".jsp" />
    	</bean>
    	<bean id="messageSource"
    		class="org.springframework.context.support.ResourceBundleMessageSource">
    		<property name="basename" value="messages" />
    	</bean>
    	<bean id="doubleSubmitInterceptor"
    		class="com.cups.process.core.interceptor.RepeatSubmitInterceptor">
    		<property name="mappingURL" value=".*method=saveForm\w*|.*method=saveSimpleForm\w*|.*method=submitSimpleForm\w*|.*method=submitForm\w*" />
    	</bean>
    	<bean
    		class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
    		<property name="interceptors">
    			<list>
    				<ref bean="doubleSubmitInterceptor" />
    			</list>
    		</property>
    	</bean>
    	<bean id="logInterceptor" class="com.cups.process.core.interceptor.LogInterceptor"></bean>
    	<aop:config>
    		<aop:advisor id="logText" advice-ref="logInterceptor" pointcut="execution(* com.cups.testModel.service.*.*(..))" />
    	</aop:config>
    	<aop:config>
    		<aop:advisor id="biadata" advice-ref="logInterceptor"
    			pointcut="execution(* com.cups.business.web.workbench.bizdata.service.*.*(..))" />
    	</aop:config>
    </beans>
    web.xml
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    	id="WebApp_ID" version="2.5">
    	
    	<listener>
    		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    	</listener>
    	<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.spring</param-value>
    		</init-param>
    	</filter>
    	<filter-mapping>
    		<filter-name>springSecurityFilterChain</filter-name>
    		<url-pattern>/*</url-pattern>
    	</filter-mapping>
    	<servlet>
    		<servlet-name>spring</servlet-name>
    		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    		<init-param>
    			<param-name>contextConfigLocation</param-name>
    			<param-value>classpath:spring-web.xml</param-value>
    		</init-param>
    		<load-on-startup>1</load-on-startup>
    	</servlet>
    	<servlet-mapping>
    		<servlet-name>spring</servlet-name>
    		<url-pattern>*.do</url-pattern>
    	</servlet-mapping>
    	<listener>
    		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    	</listener>
    	<servlet>
    		<servlet-name>CXFServlet</servlet-name>
    		<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
    		<load-on-startup>1</load-on-startup>
    	</servlet> 
    	<servlet-mapping>
    		<servlet-name>CXFServlet</servlet-name>
    		<url-pattern>/ws/*</url-pattern>
    	</servlet-mapping>
    	<listener>
    		<listener-class>flex.messaging.HttpFlexSession</listener-class>
    	</listener>
    	<servlet>
    		<servlet-name>MessageBrokerServlet</servlet-name>
    		<servlet-class>flex.messaging.MessageBrokerServlet</servlet-class>
    		<init-param>
    			<param-name>services.configuration.file</param-name>
    			<param-value>/WEB-INF/flex/services-config.xml</param-value>
    		</init-param>
    		<load-on-startup>2</load-on-startup>
    	</servlet>
    	<servlet-mapping>
    		<servlet-name>MessageBrokerServlet</servlet-name>
    		<url-pattern>/messagebroker/*</url-pattern>
    	</servlet-mapping>
    	<session-config >
    		<session-timeout>100</session-timeout>
    	</session-config>
    	<welcome-file-list>
    		<welcome-file>default.jsp</welcome-file>
    	</welcome-file-list>
    	<error-page>
        	<error-code>500</error-code>
       		<location>/views/commons/500.jsp</location>
    	</error-page>
    	
    </web-app>

    Leave a comment:


  • Dave Syer
    replied
    I'm not sure there is enough detail to understand the symptoms of the problem you have. Can you provide some more details of what goes wrong and some config snippets (please use [code][/code] tags).

    Leave a comment:

Working...
X