spring security 是一个提供身份认证、授权和防范常见攻击的安全权限框架。无论是对命令式,还是响应式web应用程序都完美支持,现在主要用作保护基于 spring 框架的应用程序的事实标准。相对于shiro来说,springsecurity功能更加复杂而且更加强大
1.springboot整合security
pom中加入依赖
<!--security-->
<dependency>
<groupid>org.springframework.boot</groupid>
<artifactid>spring-boot-starter-security</artifactid>
</dependency>
<!--lomback-->
<dependency>
<groupid>org.projectlombok</groupid>
<artifactid>lombok</artifactid>
<version>1.16.10</version>
</dependency>
<!--thymeleaf模板引擎-->
<dependency>
<groupid>org.springframework.boot</groupid>
<artifactid>spring-boot-starter-thymeleaf</artifactid>
<version>2.6.5</version>
</dependency>
<!--mysql驱动包-->
<dependency>
<groupid>mysql</groupid>
<artifactid>mysql-connector-java</artifactid>
<scope>runtime</scope>
</dependency>
<!--mybatis-->
<dependency>
<groupid>org.mybatis.spring.boot</groupid>
<artifactid>mybatis-spring-boot-starter</artifactid>
<version>2.1.4</version>
</dependency>
<!--阿里驱动类-->
<dependency>
<groupid>com.alibaba</groupid>
<artifactid>druid-spring-boot-starter</artifactid>
<version>1.2.5</version>
</dependency>当引入security依赖后,启动项目再访问时,会被要求登录,我们账号输入user,密码在控制台


成功登录。
登录成功后我们可以访问controller里的资源

在securityconfig里配置拦截路径,以及放行路径,


在config里注入bcryptpasswordencoder,hbase密码加密类

接下来实现loaduserbyusername,它会根据name去数据库查找比对密码,成功则放行,失败拦截

注意数据表里的password字段要经过bcrt类密码加密,才能比对成功

最后测试,打开浏览器输入url地址,会跳转到登录页面进行登录,输入账号,密码,成功登陆

如果账号密码比对失败或者断网,会跳转到对应的error页面或者提示

到此这篇关于springsecurity+mysql数据库实现用户安全登录认证的实践的文章就介绍到这了,更多相关springsecurity mysql登录认证内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论