当前位置: 首页 > news >正文

网站如何调用微博wordpress 发布视频

网站如何调用微博,wordpress 发布视频,专门教做衣服的网站,wordpress搜索插件一:前言 (1)Spring Security概念: Spring Security 是属于 Spring 生态下一个功能强大且高度可定制的认证和授权框架,它不仅限于 Web 应用程序的安全性,也可以用于保护任何类型的应用程序。 &#xff08…
一:前言
(1)Spring Security概念:

Spring Security 是属于 Spring 生态下一个功能强大且高度可定制的认证和授权框架,它不仅限于 Web 应用程序的安全性,也可以用于保护任何类型的应用程序。

(2)场景描述:

当前端请求 /login 接口,后端并没有对登录接口有@PostMapping("/login")的注解,且框架中有使用Spring Security当做权限校验框架。原因是Spring Security有自动处理解析 /login 接口功能

二:思路整理分析
(1)官方文档

在Spring Security默认帮我们处理了登录、登出等接口
文档地址:表单登录 :: Spring Security

(2)主要思路:

①前端请求 POST /login,浏览器将请求重定向到登录页面

②Spring Security 的 UsernamePasswordAuthenticationFilter 拦截,然后提取username 和 password

③调用配置的 UserDetailsService 实例的 loadUserByUsername(username)

④如果返回 UserDetails,继续密码比对(PasswordEncoder)

⑤成功 → 认证成功,生成 SecurityContext,失败 → 抛出异常(如 UsernameNotFoundException)

三:步骤实现
(1)关键配置

代码参考如下:

@Configuration
@EnableWebSecurity
public class SecurityConfig {@Beanpublic SecurityFilterChain filterChain(HttpSecurity http) throws Exception {http.authorizeHttpRequests(auth -> auth.requestMatchers("/login").permitAll().anyRequest().authenticated()).formLogin(Customizer.withDefaults()) // 使用默认表单登录.csrf().disable(); // 为了测试方便关掉 CSRF(生产不建议)return http.build();}@Beanpublic UserDetailsService userDetailsService() {return new CustomUserDetailsService(); // 自定义实现}@Beanpublic PasswordEncoder passwordEncoder() {return new BCryptPasswordEncoder();}
}
(2)继承实现UserDetailsService 接口,重写loadUserByUsername(String username)方法

代码如下:(在此方法中可以执行需要的逻辑)

@Service
public class CustomUserDetailsService implements UserDetailsService {@Overridepublic UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {// 查询数据库...if (user == null) throw new UsernameNotFoundException("用户不存在");return new User(user.getUsername(), user.getPassword(), getAuthorities());}
}
(3)登录完成之后处理(成功、失败、异常)

以上是我配置的参数

官网文档:身份验证事件 :: Spring Security

根据返回的信息,分别处理不同的事件

四:总结

使用Spring Security 框架,可以不需要写 Controller层的 /login,Spring Security 自动帮我们处理了很多的安全校验,希望能够帮助其他小伙伴看懂这个逻辑

http://www.dtcms.com/a/529077.html

相关文章:

  • SQL注入第一步:数据库类型判断
  • 软件架构师个人总结笔记
  • 免费发做网站怎么申请网站空间域名
  • 建设旅游网站的功能定位seo网站排名优化方案
  • 龙岗网站设计案例网站是什么字体
  • 《锁侠闯江湖:小白通关Java synchronized底层秘境》
  • 广州网站制作公司排名寿光网站优化
  • Python如何写Selenium全攻略
  • 【大模型的原理 - 从输入到输出】Transformer 的 Decoder-only 架构
  • 网站建设前置审批网站配色主题
  • 服务器pdb断点调试
  • 一次方的高阶无穷小 = 一次方 × 无穷小
  • 网站建设请款报告广东建设工程信息网官网首页
  • 【力扣hot100】238.除自身以外数组的乘积
  • 江门网站关键词推广seo关键词优化软件合作
  • 如何解决 pip install 安装报错 Backend ‘setuptools.build_meta’ 不可用 问题
  • C++智能指针使用指南(auto_ptr, unique_ptr, shared_ptr, weak_ptr)
  • GitHub等平台形成的开源文化正在重塑知可以谈人
  • 计算机网络:知识点梳理及讲解(三)数据链路层
  • PySide6 pyside6-deploy 命令 Linux 部署
  • 网站内的搜索怎么做的学校网站建设情况报告
  • 电脑建立网站朝阳区手机网站建设服务
  • 谷歌商店下载APK教程,先下载谷歌三件套,再直接从 Google Play 下载 APK 文件?
  • Spring中事务的传播行为
  • 将镜像推送到 Docker Hub 或私有仓库
  • 做qq图片的网站吗wordpress没有链接地址
  • 面向模块的综合技术之重定时优化(六)
  • 社交模板网站建设成都青羊网站建设
  • Android 数据持久化(SharedPreferences)
  • 四、高效注意力机制与模型架构