学习spring 3.0 security和MVC REST遇到的几个小问题

学习spring 3.0 security和MVC REST遇到的几个问题

这两天在用spring 3构架原来ssh的框架,顺便学习spring security和REST。

1、spring security的两件小事

开始构建spring security时,只要配上自定义form, <form-login
  login-processing-url="/j_spring_security_check"
  login-page="/login"
  authentication-failure-url="/login?login_error=t"/>
就不提示登陆了,后台报No mapping found for HTTP request with URI ...,仔细检查原来必须自己实现login这个控制器

实现了login后,提示登陆了,而且对指定的url,比如<intercept-url pattern="/home" access="ROLE_TEST"/>顺利工作。

可是一旦配置成通配符
<intercept-url pattern="/**" access=",服务器一响应客户端就进入死循环,不停地报access deny。仔细想想,原来访问页面被要求登录,而登陆页面也被要求登录,这样就进入死循环。

解决办法是对login不加权限限制:<http pattern="/login" security="none" />,加上这句后运行正常了。

2、遭遇乱码

今天凌晨做好REST POST提交后试了一下中文,不出所料出现乱码。又试昨天做好的PUT,也是乱码。一时未能解决。

上班后静下心来,想到做testSpringMVC时加上spring characterEncodingFilter过滤器后就解决了乱码问题了,现在只是增加了一个httpMethodFilter,难道是过滤器顺序的关系?调整了一下这两个过滤器顺序characterEncodingFilter在前,httpMethodFilter在后,果然乱码消除。