Spring Security 的login(登录页)重构

Spring Security 的login(登录页)重构

Spring Security:

  • Spring Security 集成于同一工程
  • Spring Security 集成于不同工程

Spring Security 集成于同一工程

Spring Security若是跟我们的web工程属于同一个工程,我们只需要改动他的配置文件既可以成功

<from-login login-page="/login.jsp"
defaule-target-url="/index.jsp"
authentication-failure-url="/login.jsp?error=1"
/>

其中的login-page=”/login.jsp”就是Spring security 的登录页面,我们只要把自己制作的登录页面将登录页面在文件中的位置填写到此处既可。

Spring Security 集成于不同工程

当我们在开发中遇到Spring Security 和我们的web程序集成于不同工程时(场景如:一个大业务下的多个项目实现统一的用户管理,需要实现单点登录),我们首先应当明白Spring Security 的具体运行流程,Spring Security的运行过程基于SpringSecurityChain,以一个链式结构将多个过滤器串联起来完成用户的认证。
在单点登录的预设背景下,因为认证服务器单独存在,所以我们要将用户的信息传递到认证服务器进行认证,这时我们就要修改我们表单的action 地址,以下两张图是SpringSecurity在同一项目下和不在同一项目下from表单action的差别。
1.SpringSecurity在同一项目下
Spring Security 的login(登录页)重构_第1张图片
2.SpringSecurity不在同一项目下
Spring Security 的login(登录页)重构_第2张图片
从图中可以看到,两种用法中唯一的区别就是action的地址,所以我们只需要将2图片中的
${pageContext.request.contextPath}/j_spring_security_cheak
换为

目标地址(如220.181.105.232:80这是CSDN的静态文件服务器地址,具体是什么根据具体情况填写)/j_spring_security_cheak

既可实现Spring Security 集成于不同工程的login(登录)页面的步骤。

你可能感兴趣的:(SpringMVC,SpSecurity)