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