开发者

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

开发者 https://www.devze.com 2024-08-10 14:10 出处:网络 作者: Master_hyd
Spring Security 是一个提供身份认证、授权和防范常见攻击的安全权限框架。无论是对命令式,还是响应式web应用程序都完美支持,现在主要用作php保护基于 Spring 框架的应用程序的事实标准。相对于shiro来说,SpringS

Spring Security 是一个提供身份认证、授权和防范常见攻击的安全权限框架。无论是对命令式,还是响应式web应用程序都完美支持,现在主要用作php保护基于 Spring 框架的应用程序的事实标准。相对于shiro来说,SpringSecurity功能更加复杂而且更加强大

1.SpringBoot整合security

pom中加入依赖

<!--security-->
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
</dependency>

  <!--lomback-->
        <dependency>
            <gr编程客栈oupId>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>
        www.devze.com    <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,密码在控制台

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

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

 成功登录。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号