外卖网站建设可行性分析,西宁专业企业网站建设,中国各大网站开发语言,温州网站开发目录 前言
设置用户名密码
1、通过配置文件设置用户名密码
2、编写代码实现接口
放行登录页面以及静态资源 前言
前面我们讲解了一些关于Security的基础知识及基本原理。我们今天看一下如何通过他实现一个简单的web权限认证方案#xff01;
设置用户名密码
1、通过配置…目录 前言
设置用户名密码
1、通过配置文件设置用户名密码
2、编写代码实现接口
放行登录页面以及静态资源 前言
前面我们讲解了一些关于Security的基础知识及基本原理。我们今天看一下如何通过他实现一个简单的web权限认证方案
设置用户名密码
1、通过配置文件设置用户名密码
在application.yml文件中配置
spring.security.user.name: admin
spring.security.user.password: admin
2、编写代码实现接口
package com.yuxuntoo.config;
Configuration public class SecurityConfig {
// 注入 PasswordEncoder 类到 spring 容器中
Bean
public PasswordEncoder passwordEncoder(){ return new BCryptPasswordEncoder(); }
} package com.yuxuntoo.service;
Service
public class LoginService implements User Details Service { Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { // TODO判断用户名是否存在 if (!admin.equals(username)){ throw new UsernameNotFoundException(用户名不存在); } // 从数据库中获取的密码 atguigu 的密文 String pwd $2a$10$2R/M6iU3mCZt3ByGXXXXXEEER23UqdeXrb27zkBIizBvAven0/na; // 第三个参数表示权限 return new User(username,pwd, AuthorityUtils.commaSeparatedStringToAuthorityList(admin,)); }
}
上面loadUserByUsername中TODO处是需要我们自己编写代码实现数据库查询操作具体代码实现此处省略了可以使用Mybatis也可以使用Mybatis plus来完成具体的代码
放行登录页面以及静态资源
我们可以通过配置类来实现登录页面以及静态资源的过滤使其无需通过认证即能访问。
Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter { // 注入 PasswordEncoder 类到 spring 容器中 Bean public PasswordEncoder passwordEncoder(){ return new BCryptPasswordEncoder(); } Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers(/layui/**,/index) //表示配置请求路径 .permitAll() // 指定 URL 无需保护。 .anyRequest() // 其他请求 .authenticated(); //需要认证 }
}
好了关于用户认证的逻辑就到这里。
欢迎大家点击下方卡片关注《coder练习生》