详解SpringSecurity的formLogin登录认证模式一、formLogin的应用场景在本专栏之前的文章中,已经给大家介绍过SpringSecurity的HttpBasic模式,该模式比较简单,只是进行了通过携带Http的Header进行简单的登录验证,而且没有定制的登录页面,所以使用场景比较窄。对于一个完整的应用系统,与登录验证相关的页面都是高度定制化的,非常美观而且提供多种登录方式。这就需要SpringSecurity支持我们自己定制登录页面,也就是本文给大家介绍的formLogin模式登录认证模式。准备工作新建一个SpringBoot的web应用准备一个login.html登录页面,页面内容非常简单,一个from表单、用户名和密码输入框,一个提交按钮准备一个首页index.html,在登录成功之后需要进入index.html首页首页可以看到syslog(日志管理)、sysuer(用户管理)、biz1(业务一)、biz2(业务二)四个页面超文本链接选项。通过controller控制层跳转页面,并在对应页面写一些标志性文字即可,不需写具体业务。需求我们希望biz1(业务一)、biz2(业务二)普通的操作用户user就可以访问我们希望管理员可以访问包括syslog(日志管理)和sysuser(用户管理)在内的所有资源以上就是本文介绍formLogin模式需要进行的准备工作及需求,下面我们就来实现其中的核心的登录验证逻辑,准备工作非常简单请自行实现。(新建springboot应用,登录页面、首页、四个业务页面都写成非常简单的html即可,不用写实际业务和样式。)二、说明formLogin模式的三要素:登录验证逻辑资源访问控制规则,如:资源权限、角色权限用户信息一般来说,使用权限认证框架的的业务系统登录验证逻辑是固定的,而资源访问控制规则和用户信息是从数据库或其他存储介质灵活加载的。但本文所有的用户、资源、权限信息都是代码配置写死的,旨在为大家介绍formLogin认证模式,如何从数据库加载权限认证相关信息我还会结合RBAC权限模型再写文章的。三、实现formLogin模式基础配置首先,我们要继承WebSecurityConfigurerAdapter,重写configure(HttpSecurity
转载请注明:http://www.aierlanlan.com/rzdk/6011.html