jwt , sa-token , shiro , spring security 简介

接下来要看黑马视频学一下 jwt 和  sa-token ,再结合 脚手架看一下,debug一下,做好笔记总结

之前hg是用shiro,

jwt 缺点,以及对应的解决方案,,

哦,jwt 是通过数字签名校验来实现 token 校验的

之前我做那个 tkg 也做了 数字签名校验, 就是防止 银行卡号啥的 被篡改啥的,反正就是防止 被黑客篡改,做了那个数字签名校验,每次请求接口都会发一个数字签名,还有一个数字签名对应的原始字符串,那个原始字符串就是整个请求参数的json对象字符串。

然后服务端好像是搞了一个拦截器,对数字签名进行解析校验,

还有一个问题就是公钥私钥,

反正当时去了解了数字签名,但是做完又忘记了。

最后的问题就是来到, 私钥 放在前端 哪里是安全的, 我记得我是放在了一个配置文件里,但是当时我问了公司的前端开发,前端有啥地方是安全的,不会从浏览器上能看到的啥的,他也不知道,

私钥 放 前端, 前端加密出签名, 这样保证了 请求数据的来源是 官方前端,不是黑客前端

然后服务端公钥解密验证,证明这份数据是来自 正确前端加密的,

只要黑客拿不到私钥,那他就不能搞到正确的数字签名, 就不能通过数字签名的公钥解析后比对的校验了,

但是黑客能不能不拿到私钥的情况下去改变私钥要加密的内容,从而篡改请求数据,所以还是不要手填银行卡号比较好,存db 里,然后用户选择,我再根据选择id 从db 查出来,这样黑客就需要去修改db 里的银行卡号了,

### sa-tokenSpring Security 认证框架特性的对比 #### 安全模型 sa-token 提供了一种基于令牌的身份验证机制,这使得其在实现上类似于传统的Token Auth[^1]。而Spring Security则提供了一个更为全面的安全框架,不仅支持多种身份验证方式(如表单登录、HTTP Basic、OAuth2等),还提供了细粒度的访问控制功能。 #### 易用性与集成难度 对于开发者而言,sa-token 的设计更加简洁直观,易于快速集成到现有项目中。相比之下,Spring Security虽然配置较为复杂,但是通过丰富的文档和支持社区,能够满足更广泛的应用场景需求。 #### 性能表现 由于sa-token专注于轻量级的身份验证流程,在处理速度方面可能具有一定优势;然而具体性能差异取决于实际应用场景下的优化程度以及所使用的其他组件情况。 #### 扩展能力 两者都具备良好的扩展性,不过Spring Security凭借其庞大的生态系统和插件体系,在应对复杂的业务逻辑定制化需求时显得尤为强大。 ```java // 示例:Spring Security 配置类 @Configuration @EnableWebSecurity public class WebSecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.authorizeRequests() .antMatchers("/", "/home").permitAll() .anyRequest().authenticated(); } } ``` ```python # 示例:sa-token 登录接口 from flask import Flask, request import satoken app = Flask(__name__) @app.route('/login', methods=['POST']) def login(): username = request.form.get('username') password = request.form.get('password') # 假设这里进行了用户名密码校验并返回token token = satoken.create_token({'uid': user_id}) return {'code': 0, 'msg': "success", 'data': {"token": token}} ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值