- Remove old ExportController

- Add support for simple REST transformation
This commit is contained in:
Paulo Gustavo Veiga
2012-02-19 21:07:24 -03:00
parent e033e8552c
commit 81538f049b
11 changed files with 115 additions and 422 deletions

View File

@@ -1,167 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="filterChainProxy" class="org.acegisecurity.util.FilterChainProxy">
<property name="filterInvocationDefinitionSource">
<value>
CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
PATTERN_TYPE_APACHE_ANT
/**=httpSessionContextIntegrationFilter,logoutFilter,authenticationProcessingFilter,securityContextHolderAwareRequestFilter,rememberMeProcessingFilter,anonymousProcessingFilter,exceptionTranslationFilter,filterInvocationInterceptor
</value>
</property>
</bean>
<bean id="shaPasswordEncoder" class="org.acegisecurity.providers.encoding.ShaPasswordEncoder"/>
<bean id="encoder" class="com.wisemapping.security.CustomPasswordEncoder">
<property name="delegatedEncoder" ref="shaPasswordEncoder"/>
</bean>
<bean id="httpSessionContextIntegrationFilter"
class="org.acegisecurity.context.HttpSessionContextIntegrationFilter"/>
<bean id="logoutFilter" class="org.acegisecurity.ui.logout.LogoutFilter">
<property name="filterProcessesUrl" value="/c/logout.htm"/>
<constructor-arg value="/c/login.htm"/>
<!-- URL redirected to after logout -->
<constructor-arg>
<list>
<ref bean="rememberMeServices"/>
<bean class="org.acegisecurity.ui.logout.SecurityContextLogoutHandler"/>
</list>
</constructor-arg>
</bean>
<bean id="ssoCustomAuthenticationHandler" class="com.wisemapping.security.DefaultAuthenticationHandler"/>
<bean id="authenticationProcessingFilter" class="com.wisemapping.security.WiseAuthenticationProcessingFilter">
<property name="authenticationManager" ref="authenticationManager"/>
<property name="authenticationFailureUrl" value="/c/login.htm?login_error=1"/>
<property name="defaultTargetUrl" value="/c/login.htm"/>
<property name="filterProcessesUrl" value="/c/j_acegi_security_check"/>
<property name="rememberMeServices" ref="rememberMeServices"/>
<property name="authenticationHandler" ref="ssoCustomAuthenticationHandler"/>
<property name="exceptionMappings">
<props>
<prop key="org.acegisecurity.BadCredentialsException">/c/login.htm?login_error=2</prop>
<prop key="org.acegisecurity.LockedException">/c/login.htm?login_error=3</prop>
</props>
</property>
</bean>
<bean id="securityContextHolderAwareRequestFilter"
class="org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter"/>
<bean id="rememberMeProcessingFilter" class="org.acegisecurity.ui.rememberme.RememberMeProcessingFilter">
<property name="authenticationManager" ref="authenticationManager"/>
<property name="rememberMeServices" ref="rememberMeServices"/>
</bean>
<bean id="anonymousProcessingFilter" class="org.acegisecurity.providers.anonymous.AnonymousProcessingFilter">
<property name="key" value="changeThis"/>
<property name="userAttribute" value="anonymousUser,ROLE_ANONYMOUS"/>
</bean>
<bean id="exceptionTranslationFilter" class="org.acegisecurity.ui.ExceptionTranslationFilter">
<property name="authenticationEntryPoint">
<bean class="org.acegisecurity.ui.webapp.AuthenticationProcessingFilterEntryPoint">
<property name="loginFormUrl" value="/c/login.htm"/>
<property name="forceHttps" value="false"/>
</bean>
</property>
<property name="accessDeniedHandler">
<bean class="org.acegisecurity.ui.AccessDeniedHandlerImpl">
<property name="errorPage" value="/accessDenied.jsp"/>
</bean>
</property>
</bean>
<bean id="filterInvocationInterceptor" class="org.acegisecurity.intercept.web.FilterSecurityInterceptor">
<property name="authenticationManager" ref="authenticationManager"/>
<property name="accessDecisionManager">
<bean class="org.acegisecurity.vote.AffirmativeBased">
<property name="allowIfAllAbstainDecisions" value="false"/>
<property name="decisionVoters">
<list>
<bean class="org.acegisecurity.vote.RoleVoter"/>
<bean class="org.acegisecurity.vote.AuthenticatedVoter"/>
</list>
</property>
</bean>
</property>
<property name="objectDefinitionSource">
<value>
CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
PATTERN_TYPE_APACHE_ANT
/index.jsp=IS_AUTHENTICATED_ANONYMOUSLY
/c/login*=IS_AUTHENTICATED_ANONYMOUSLY
/c/userregistration*=IS_AUTHENTICATED_ANONYMOUSLY
/c/activation.htm=IS_AUTHENTICATED_ANONYMOUSLY
/c/forgotpassword*=IS_AUTHENTICATED_ANONYMOUSLY
/c/captcha*=IS_AUTHENTICATED_ANONYMOUSLY
/c/home.htm=IS_AUTHENTICATED_ANONYMOUSLY
/c/try.htm=IS_AUTHENTICATED_ANONYMOUSLY
/c/search.htm=IS_AUTHENTICATED_ANONYMOUSLY
/c/keyboard.htm=IS_AUTHENTICATED_ANONYMOUSLY
/css/*=IS_AUTHENTICATED_ANONYMOUSLY
/js/**=IS_AUTHENTICATED_ANONYMOUSLY
/ws/**=IS_AUTHENTICATED_ANONYMOUSLY
/images/*=IS_AUTHENTICATED_ANONYMOUSLY
/c/embeddedview.htm=IS_AUTHENTICATED_ANONYMOUSLY
/c/export.htm=IS_AUTHENTICATED_ANONYMOUSLY
/c/publicview.htm=IS_AUTHENTICATED_ANONYMOUSLY
/dwr/engine.js=IS_AUTHENTICATED_ANONYMOUSLY
/dwr/interface/loggerservice.js=IS_AUTHENTICATED_ANONYMOUSLY
/dwr/call/plaincall/loggerservice.logerror.dwr=IS_AUTHENTICATED_ANONYMOUSLY
/**=IS_AUTHENTICATED_REMEMBERED
</value>
</property>
</bean>
<bean id="rememberMeServices" class="com.wisemapping.security.CustomTokenBasedRememberMeServices">
<property name="userDetailsService" ref="userDetailsService"/>
<property name="key" value="changeThis"/>
</bean>
<bean id="authenticationManager" class="org.acegisecurity.providers.ProviderManager">
<property name="providers">
<list>
<ref local="daoAuthenticationProvider"/>
<bean class="org.acegisecurity.providers.anonymous.AnonymousAuthenticationProvider">
<property name="key" value="changeThis"/>
</bean>
<bean class="org.acegisecurity.providers.rememberme.RememberMeAuthenticationProvider">
<property name="key" value="changeThis"/>
</bean>
</list>
</property>
</bean>
<bean id="daoAuthenticationProvider" class="org.acegisecurity.providers.dao.DaoAuthenticationProvider">
<property name="userDetailsService" ref="userDetailsService"/>
<!-- @Todo: Check if this still required. this was removed in the new spring version.-->
<!--<property name="userCache">-->
<!--<bean class="org.acegisecurity.providers.dao.cache.EhCacheBasedUserCache">-->
<!--<property name="cache">-->
<!--<bean class="org.springframework.cache.ehcache.EhCacheFactoryBean">-->
<!--<property name="cacheManager">-->
<!--<bean class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"/>-->
<!--</property>-->
<!--<property name="cacheName" value="userCache"/>-->
<!--</bean>-->
<!--</property>-->
<!--</bean>-->
<!--</property>-->
<property name="encoder" ref="encoder"/>
</bean>
<bean id="userDetailsService" class="com.wisemapping.security.UserDetailService">
<property name="userManager" ref="userManager"/>
</bean>
<!-- This bean is optional; it isn't used by any other bean as it only listens and logs -->
<bean id="loggerListener" class="org.acegisecurity.event.authentication.LoggerListener"/>
</beans>

View File

@@ -15,15 +15,10 @@
<context:annotation-config/>
<mvc:annotation-driven/>
<!-- To enable @RequestMapping process on type level and method level -->
<!--<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>-->
<!--<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>-->
<bean id="jaxbMarshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller">
<property name="classesToBeBound">
<list>
<value>com.wisemapping.rest.model.RestMindMap</value>
<value>com.wisemapping.rest.model.RestMindmap</value>
</list>
</property>
</bean>
@@ -33,11 +28,14 @@
<property name="favorPathExtension" value="true"/>
<property name="mediaTypes">
<map>
<entry key="xml" value="text/xml"/>
<entry key="html" value="text/html"/>
<entry key="xml" value="text/xml"/>
<entry key="json" value="application/json"/>
<entry key="freemind" value="application/freemind"/>
<entry key="pdf" value="application/pdf"/>
<entry key="png" value="application/png"/>
<entry key="png" value="image/png"/>
<entry key="jpeg" value="image/jpg"/>
<entry key="svg" value="image/svg+xml"/>
</map>
</property>
<property name="viewResolvers">
@@ -76,5 +74,7 @@
<constructor-arg value="application/freemind"/>
</bean>
<bean id="transformViewSvg" class="com.wisemapping.rest.view.TransformView">
<constructor-arg value="image/svg+xml"/>
</bean>
</beans>

View File

@@ -30,9 +30,11 @@
<sec:http pattern="/dwr/interface/loggerservice.js" security="none"/>
<sec:http pattern="/dwr/call/plaincall/loggerservice.logerror.dwr" security="none"/>
<sec:http pattern="/service/transform.*" security="none"/>
<sec:http use-expressions="true" create-session="stateless" entry-point-ref="digestEntryPoint"
pattern="/service/**">
<sec:intercept-url pattern="/service/**" access="isAuthenticated()"/>
<sec:http-basic/>
<sec:custom-filter ref="digestFilter" after="BASIC_AUTH_FILTER"/>
</sec:http>

View File

@@ -107,11 +107,7 @@
<property name="userService" ref="userService"/>
</bean>
<bean id="exportController" class="com.wisemapping.controller.ExportController">
<property name="methodNameResolver" ref="paramResolverByAction"/>
<property name="mindmapService" ref="mindmapService"/>
<property name="userService" ref="userService"/>
</bean>
<bean id="publishController" class="com.wisemapping.controller.MindmapPublishController">
<property name="methodNameResolver" ref="paramResolverByAction2"/>
<property name="mindmapService" ref="mindmapService"/>
@@ -303,7 +299,6 @@
<prop key="/c/editor.htm">editorController</prop>
<prop key="/c/cooker.htm">cookerController</prop>
<prop key="/c/settings.htm">settingsController</prop>
<prop key="/c/export.htm">exportController</prop>
<prop key="/c/publish.htm">publishController</prop>
<prop key="/c/editProfile.htm">editProfileController</prop>
<prop key="/c/tags.htm">tagsController</prop>