当前位置: 代码网 > it编程>编程语言>Java > SpringSecurity+Mysql数据库实现用户安全登录认证的实践

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

2024年08月04日 Java 我要评论
spring security 是一个提供身份认证、授权和防范常见攻击的安全权限框架。无论是对命令式,还是响应式web应用程序都完美支持,现在主要用作保护基于 spring 框架的应用程序的事实标准。

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登录认证内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com