Olá, obrigado por ajudar
Projeto Spring MVC 3.2.2
Spring Security 3.1.4
Tiles 2.2.2
Eu criei um projeto no Openshift e estava funcionando a parte MVC numa boa. Ao adicionar o Spring-Security, não estou conseguindo acesso à página de login, eu não tenho certeza do que pode ser. Bom, vou tentar explicar o que fiz até o momento. A estrutura do projeto é /]essa e tem uma página login.jsp dentro do diretório login.
O web.xml<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<context-param>
<param-name>contextClass</param-name>
<param-value>org.springframework.web.context.support.AnnotationConfigWebApplicationContext</param-value>
</context-param>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>br.com.meuprojeto.config</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- Spring Security -->
<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>
<!-- fim security -->
<bean id="tilesviewResolver"
class="org.springframework.web.servlet.view.tiles2.TilesViewResolver"
p:order="0" />
<bean id="tilesConfigurer"
class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/jsp/**/tiles.xml/</value>
</list>
</property>
</bean>
<context:annotation-config />
<mvc:annotation-driven />
<context:component-scan base-package="br.com.meuprojeto" />
<import resource="tiles-context.xml" />
<mvc:resources mapping="imagens/**" location="/resources/images/*" />
<mvc:resources mapping="css/**" location="/resources/css/*" />
<mvc:resources mapping="javascript/**" location="/resources/javascript/*" />
<mvc:default-servlet-handler />
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/WEB-INF/jsp/"
p:suffix=".jsp"
p:order="1" />
<http use-expressions="true">
<intercept-url pattern="/anonymous*" access="isAnonymous()" />
<intercept-url pattern="/login*" access="permitAll" />
<intercept-url pattern="/**" access="isAuthenticated()" />
<form-login
login-page="/login/login.jsp"
login-processing-url="/perform_login"
default-target-url="/login/homepage.jsp"
authentication-failure-url="/login.html?error=true"
always-use-default-target="true"/>
<logout
logout-url="/perform_logout"
delete-cookies="JSESSIONID"
success-handler-ref="customLogoutSuccessHandler" />
</http>
<beans:bean name="customLogoutSuccessHandler" class="br.com.meuprojeto.security.CustomLogoutSuccessHandler" />
<authentication-manager>
<authentication-provider>
<user-service>
<user name="user1" password="user1Pass" authorities="ROLE_USER" />
</user-service>
</authentication-provider>
</authentication-manager>
@Controller
@RequestMapping("/")
public class MeuProjetoController {
@RequestMapping(value = "/teste", method = RequestMethod.GET)
public String testeLogin(ModelMap map, Model model) {
logger.info("estou indo para a pagina de login");
return "login-page";
}
<definition name="login-page" extends="template-main">
<put-attribute name="primary-content" value="/WEB-INF/jsp/login/login.jsp" />
</definition>
<intercept-url pattern="/teste*" access="permitAll" />
<form-login
login-page="/teste"
Mas eu não tinha liberado o /teste para qualquer um? Cadê o meu acesso ao meu Controller?!
As configurações dos meus ViewResolvers (Internal e Tiles View Resolver) podem atrapalhar as configurações do Spring-Security?
Espero ter sido o mais claro possível e obrigado por ajudar (pelo menos de ter lido até aqui)