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

 更新时间:2024年08月04日 08:30:36   作者: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登录认证内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Socket与ServerSocket类构造方法与API

    Socket与ServerSocket类构造方法与API

    今天小编为大家整理了Socket与ServerSocket类构造方法与API,对大家的学习或工作具有一定的参考借鉴价值。需要的朋友可以收藏下,方便下次浏览观看
    2021-12-12
  • hibernate 配置数据库方言的实现方法

    hibernate 配置数据库方言的实现方法

    这篇文章主要介绍了hibernate 配置数据库方言的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • 如何利用Java在图片上添加文字水印效果

    如何利用Java在图片上添加文字水印效果

    最近发现经常被别的网站盗用,而且不注明出处,因此不得不加上水印,这篇文章主要给大家介绍了关于如何利用Java在图片上添加文字水印效果的相关资料,需要的朋友可以参考下
    2022-01-01
  • @JsonSerialize注解的使用示例教程

    @JsonSerialize注解的使用示例教程

    在开发中,有时候某些字段需要特殊处理,比如我们有一个日期字段,当日期为NULL时给前端不返回NULL而返回为其他等信息,就需要自定义字段的序列化,这就是@JsonSerialize的用处,本文给大家介绍@JsonSerialize注解的使用,感兴趣的朋友一起看看吧
    2023-11-11
  • 对象转Json字符串时如何忽略指定属性

    对象转Json字符串时如何忽略指定属性

    这篇文章主要介绍了对象转Json字符串时如何忽略指定属性,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • Spring配置文件使用占位符配置方式

    Spring配置文件使用占位符配置方式

    这篇文章主要介绍了Spring配置文件使用占位符配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • 解决spring中redistemplate不能用通配符keys查出相应Key的问题

    解决spring中redistemplate不能用通配符keys查出相应Key的问题

    这篇文章主要介绍了解决spring中redistemplate不能用通配符keys查出相应Key的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Mybatis游标查询大量数据方式

    Mybatis游标查询大量数据方式

    这篇文章主要介绍了Mybatis游标查询大量数据方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • Java 实战项目锤炼之在线美食网站系统的实现流程

    Java 实战项目锤炼之在线美食网站系统的实现流程

    读万卷书不如行万里路,只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用java+SSM+jsp+mysql+maven实现一个在线美食网站系统,大家可以在过程中查缺补漏,提升水平
    2021-11-11
  • SpringBoot整合Shiro实现权限控制的代码实现

    SpringBoot整合Shiro实现权限控制的代码实现

    Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理,今天通过本文给大家介绍SpringBoot整合Shiro实现权限控制的方法,感兴趣的朋友一起看看吧
    2021-07-07

最新评论