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

本文记录了使用SpringSecurity过程中的两个常见问题及解决方案,包括如何正确配置登录控制器以避免死循环,以及解决REST请求中的中文乱码问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这两天在用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在后,果然乱码消除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值