google app engine - Spring Security: SecurityContextHolder.getContext().getAuthentication() returns null on Wicket Page -


i using spring mvc(for rest), spring security 3 , apache wicket (ui) on google app engine. working fine except having trouble in getting authentication on wicket page through securitycontextholder after login.

i have google'd issue, none seems working me. suspect wrong web xml. can please help. thanks.

i using tutorials spring security on google app engine http://blog.springsource.org/2010/08/02/spring-security-in-google-app-engine/

here web.xml

<?xml version="1.0" encoding="utf-8"?> <web-app>          <display-name>mtp portal</display-name>  <context-param>     <param-name>contextconfiglocation</param-name>     <param-value>         /web-inf/mtp-web-servlet.xml, /web-inf/mtp-web-security-context.xml     </param-value> </context-param>  <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>  <listener>     <listener-class>org.springframework.web.context.contextloaderlistener</listener-class> </listener>  <servlet>     <servlet-name>mtp-web</servlet-name>     <servlet-class>org.springframework.web.servlet.dispatcherservlet</servlet-class> </servlet>  <servlet-mapping>     <servlet-name>mtp-web</servlet-name>     <url-pattern>/api/*</url-pattern> </servlet-mapping>  <filter>     <filter-name>wicketapp</filter-name>     <filter-class>org.apache.wicket.protocol.http.wicketfilter</filter-class>     <init-param>         <param-name>applicationfactoryclassname</param-name>         <param-value>org.apache.wicket.spring.springwebapplicationfactory</param-value>     </init-param> </filter>  <filter-mapping>     <filter-name>wicketapp</filter-name>     <url-pattern>/*</url-pattern> </filter-mapping> 

here spring security config:

<?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"      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.1.xsd">  <global-method-security pre-post-annotations="enabled"/>  <http pattern="/images/**" security="none"/> <http pattern="/css/**" security="none"/> <http pattern="/js/**" security="none"/> <http pattern="/api/**" security="none"/> <http pattern="/favicon.ico" security="none"/> <http pattern="/disabled" security="none"/>  <http use-expressions="true" entry-point-ref="gaeentrypoint" auto-config="true">     <intercept-url pattern="/" access="permitall"/>     <intercept-url pattern="/api/**" access="permitall"/>     <intercept-url pattern="/admin/logout" access="permitall"/>     <intercept-url pattern="/register" access="hasrole('new_user')"/>     <intercept-url pattern="/admin/**" access="hasrole('admin')"/>     <custom-filter position="pre_auth_filter" ref="gaefilter"/> </http>  <b:bean id="gaeentrypoint"         class="com.peerbuccoss.apps.mtp.web.authentication.impl.googleaccountsauthenticationentrypoint"/>  <b:bean id="gaefilter" class="com.peerbuccoss.apps.mtp.web.authentication.filter.gaeauthenticationfilter">     <b:property name="authenticationmanager" ref="authenticationmanager"/>     <b:property name="failurehandler">         <b:bean class="org.springframework.security.web.authentication.exceptionmappingauthenticationfailurehandler">             <b:property name="exceptionmappings">                 <b:map>                     <b:entry key="org.springframework.security.authentication.disabledexception"                              value="/disabled"/>                 </b:map>             </b:property>         </b:bean>     </b:property> </b:bean>  <authentication-manager alias="authenticationmanager">     <authentication-provider ref="gaeauthenticationprovider"/> </authentication-manager>  <b:bean id="gaeauthenticationprovider"         class="com.peerbuccoss.apps.mtp.web.authentication.provider.googleaccountsauthenticationprovider"/> 

i'm not sure url failing obtain securitycontext (perhaps can provide example url), securitycontext not populated url mapped security="none". because security="none" instructs spring security ignore url entirely. if need access securitycontext on url allowed every user, need use permitall.

ps: if not might provide example url having trouble getting authentication. might provide details on mean "having trouble in getting authentication on wicket page" (i.e. null, throwing exception, etc).


Comments

Popular posts from this blog

c# - SVN Error : "svnadmin: E205000: Too many arguments" -

c++ - Using OpenSSL in a multi-threaded application -

All overlapping substrings matching a java regex -