之前配置之后已经启动项目,可以看到默认的登录的页面,可是现在要我们自己的登录页面,这个咋配置呢? 在springsecurity.xml里面进行配置
<!--配置认证信息-->
<security:form-login login-page="/login.jsp" 这个是我们自己写的jsp页面
浏览器访问login,那么就会跳转到login.jsp页面
login-processing-url="/login" 这个是框架的地址,不能变,以后也是这个
这个index.jsp是默认的页面,意思是,如果你刚开始要访问购物车的页面,但是你没有登录,给你跳转到了登录页面,你填写了用户名密码认证成功之后,就会跳转到购物车的页面。可是刚开始你访问的就是登录页面,登录成功之后,项目不知道你要访问哪个页面,所以现在就配置了一个默认的页面,不知道你要访问哪个页面,那么就到这个index.jsp 页面
default-target-url="/index.jsp"
登录失败之后跳转的页面
authentication-failure-url="/failer.jsp"/>
以上就是配置了认证 的信息
退出的配置 这个退出的路径也是springsecurity自己的,我们记住就可以,退出之后去哪里,这个是可以自己配的,一般是去登录的页面
<!--配置退出登录信息-->
<security:logout logout-url="/logout"
退出之后去哪里
logout-success-url="/login.jsp"/>
还有一个问题,我们先看springsecurity.xml里面配置了什么
截图里面的第一个配置是 不管什么页面,要认证之后才可以访问,可是我们自己写的登录页面,也是我们要访问的页面啊,这个也是要被拦截的,只有访问了登录页面才可以认证,可是只有认证才可以访问登录界面,这个就是循环了,项目是不能启动的。所以为了解决这个问题,现在就要对登录界面进行放行。
只要是登录页面,不认证也可以访问,那么这个就解决了循环的问题。
还有一个问题,自己写的登录页面是有样式的,这个样式的引入也是需要路径的,可是这个路径也是需要认证才可以访问的,登录页面还没有认证了,所以样式是没有的,这个是不友好的,所以我们需要放行,就是静态资源的放行,意思就是静态资源以后不要经过springsecurity框架了,和框架没有关系了,你就可以直接访问了,那么实现这个功能,就需要在springsecurity框架的配置文件里面进行配置
<!--释放静态资源-->
<security:http pattern="/css/**" security="none"/>
<security:http pattern="/img/**" security="none"/>
<security:http pattern="/plugins/**" security="none"/>
<security:http pattern="/failer.jsp" security="none"/>
只要写了以上的配置,静态资源的访问就和springsecurity框架没有关系了,不需要认证就可以访问了。
重新启动之后,就可以访问到自己的登录页面了,不管你要访问哪个页面,就会自动的跳转到登录的页面。