java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > SpringSecurity Mysql登录认证

SpringSecurity+Mysql数据库实现用户安全登录认证的实践

作者:Master_hyd

Spring Security 是一个提供身份认证、授权和防范常见攻击的安全权限框架,本文主要介绍了SpringSecurity+Mysql数据库实现用户安全登录认证的实践,具有一定的参考价值,感兴趣的可以了解一下

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,密码在控制台

bd2c81f2b90c099d2c4bb720fbdb6a53.png

b0c20af1a65486abccc689a78d23f255.png

 成功登录。

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

a255e7b609d1d27025625f74a905199f.png

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

9f286f1d8b67cc5222731c5be4feeffd.png

19a0d6247a1d36c272cd5953e869b4db.png

在Config里注入BCryptPasswordEncoder,Hbase密码加密类

eea67d72eea77f9ff70b6e869fc39511.png

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

33e0b8ee19e6fc62f5035d6ed21ad3d0.png

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

f12982b900151a6d4a18388bf2fd86cf.png

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

4c2cd65023c8432842a24fae073ec126.png

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

cb31fbe47567562995376679f2f1e014.png

到此这篇关于SpringSecurity+Mysql数据库实现用户安全登录认证的实践的文章就介绍到这了,更多相关SpringSecurity Mysql登录认证内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文