SpringSecurity之权限方案——用户认证
倪大野
共 4948字,需浏览 10分钟
· 2023-05-09
点击上方“蓝字”,发现更多精彩。
0 1 设置用户名密码
开篇点睛——Elasticsearch 工欲善其事必先利其器——Elasticsearch安装 如何将网站全部变成灰色的素装效果,瞧过来 宇讯代码生成器开源了 微信支付系列之——统一下单 springboot自动装配原理 如何优雅的实现接口防刷 系统日志规范
前面我们讲解了一些关于Security的基础知识及基本原理。我们今天看一下如何通过它实现一个简单的web权限认证方案!
0 1 设置用户名密码
1、通过配置文件设置用户名密码
在application.yml文件中配置
spring.security.user.name: admin
spring.security.user.password: admin
2、编写代码实现接口
package com.yuxuntoo.config;
public class SecurityConfig {
// 注入 PasswordEncoder 类到 spring 容器中
public PasswordEncoder passwordEncoder(){
return new BCryptPasswordEncoder();
}
}
package com.yuxuntoo.service;
public class LoginService implements User Details Service {
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来完成具体的代码!
0 2 放行登录页面及静态文件我们可以通过配置类来实现登录页面以及静态资源的过滤,使其无需通过认证,即能访问。
public class SecurityConfig extends WebSecurityConfigurerAdapter {
// 注入 PasswordEncoder 类到 spring 容器中
public PasswordEncoder passwordEncoder(){
return new BCryptPasswordEncoder();
}
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests() .antMatchers("/layui/**","/index") //表示配置请求路径
.permitAll() // 指定 URL 无需保护。
.anyRequest() // 其他请求
.authenticated(); //需要认证
}
}
开篇点睛——Elasticsearch 工欲善其事必先利其器——Elasticsearch安装 如何将网站全部变成灰色的素装效果,瞧过来 宇讯代码生成器开源了 微信支付系列之——统一下单 springboot自动装配原理 如何优雅的实现接口防刷 系统日志规范
评论
PermissionScopeiOS 用户权限处理
PermissionScope是Swift框架,是智能iOS用户权限UI和统一API,可以智能地处理用户权限请求。代码示例:class ViewController: UIViewController
PermissionScopeiOS 用户权限处理
0
Sa-Token轻量级权限认证框架
Sa-Token是一个轻量级Java权限认证框架,主要解决:登录认证、权限认证、Session会话、单点登录、OAuth2.0等一系列权限相关问题。框架针对踢人下线、自动续签、前后台分离、分布式会话…
Sa-Token轻量级权限认证框架
0
bootshiro认证权限管理系统后台
bootshiro是基于springboot+shiro+jwt的真正restfulurl资源无状态认证权限管理后端,前端usthe。开源愿景是提供一个动态的,页面可配置式的restapi保护,开发者
bootshiro认证权限管理系统后台
0