1)开始遇到一个问题,所有的action怎么都拦截不住,似乎spring security失效了,然后在所有的action前面加上“/”之后,在数据库资源里也是类似于/***.action就好了,这样的话就没有问题了。我个人觉得有个不错的解决方式,就是不同角色可访问的jsp建立不用的包,然后struts2配置文件里用不同的package,不用的包作为不同的命名空间,这样也比较清晰,然后在页面所有的action前加上相应的包名,这样拦截起来就更方便了,在数据库的资源表里只要配置/admin/**, /user/**等等就好。其实呢,spring security的这种拦截方式是request拦截,是ss默认的拦截方式,如果想使用forward拦截,记得在web.xml中进行配置如下:
<filter-mapping> <filter-name>springSecurityFilterChain</filter-name> <url-pattern>/*</url-pattern> <dispatcher>FORWARD</dispatcher> <dispatcher>REQUEST</dispatcher> </filter-mapping>
不过一般情况下用对request拦截最好,原因很简单,就不用说了。
2)第二个就是从登陆页面往后台传参数的问题了,