红茶的个人站点

  • 首页
  • 专栏
  • 开发工具
  • 其它
  • 隐私政策
shiro
其它

Shiro 学习笔记6:JWT

之前我们的 Shiro 的会话状态跟踪是基于 Session 和 Cookie 的,客户端会保存服务端返回的 Shiro SessionID 到 Cookie,并且在请求时传输 Cookie 中会包含 SessionID 信息。 但如果用户禁用 Cookie 或者使用的是不支持 Cookie 的客户端,这种方式就是无效的。此时我们无法跟踪用户的会话状态,也就无法进行登录状态检查和权限检验等。 1.用请求头传递 SessionID 其实解决上述问题最简单的方式是客户端不再通过 Cookie 传递 SessionID,…

2023年9月27日 0条评论 1107点热度 0人点赞 魔芋红茶 阅读全文
其它

Shiro 学习笔记5:登录控制

本篇介绍 Shiro 在登录控制相关的实际应用。 限制登录尝试次数 面对暴力破解密码方式的进行登录的攻击,比较有效的应对手段除了使用验证码,对一定时间内登录尝试次数进行限制同样是行之有效的。 在这里可以用 Redis 记录某段时间内的登录失败尝试次数,如果超过某个阈值,就不检查密码是否正确,直接返回错误信息。若干时间后再次允许对该账号的登录尝试。 Shiro 对密码进行比较的工作是由 Realm 的CredentialsMatcher完成的,因此我们可以自定义一个CredentialsMatcher,并且在进行密码…

2023年9月25日 0条评论 971点热度 0人点赞 魔芋红茶 阅读全文
其它

Shiro 学习笔记4:分布式会话

在上篇文章中,我们已经在 Spring Boot 项目中集成了 Shiro,并实现了权限控制。最后用 Redis 缓存用户权限信息的方式优化了 Shiro 鉴权的性能。 但这个项目有一个问题,即只能作为单体应用部署。原因是项目用于跟踪用户状态信息的 Session 实际上存储在内存中。如果对项目进行集群部署,多台服务器之间的内存中 Session 显然是无法共享的。 1.SessionDao Shiro 使用的 Session 存储方式是由 SessionManager 决定的: @Bean public Defa…

2023年9月24日 0条评论 936点热度 0人点赞 魔芋红茶 阅读全文
其它

Shiro 学习笔记3:Spring Boot 集成

1.准备工作 创建一个 SpringBoot 应用,将打包方式改为 war,并添加 JSP 的相关支持。 Spring Boot 整合 JSP 的相关内容可以阅读这篇文章。 2.整合 2.1.依赖 <dependency>    <groupId>org.apache.shiro</groupId>    <artifactId>shiro-spring-boot-web-starter</artifactId>    <version>1.1…

2023年9月23日 0条评论 991点热度 0人点赞 魔芋红茶 阅读全文
其它

Shiro 学习笔记2:Web 应用集成

需要先进行一些准备工作: 创建一个 Maven Web 项目,具体方式可以参考这篇文章。 将上篇文章项目中的依赖拷贝进当前项目。 将上篇文章项目中的代码拷贝进当项目。 这里提供一个整合后的示例项目 web-demo,内含 SQL。 Web 集成 Shiro web.xml 现在这个示例项目存在一个问题,读取 Shiro 配置并创建 SecurityManager 的代码需要手动调用,虽然我们已经封装成了工具类: public class SubjectUtil {    private static Securit…

2023年9月19日 0条评论 906点热度 0人点赞 魔芋红茶 阅读全文
其它

Shiro 学习笔记1:基础

1.简介 Shiro 的架构图: 各种客户端通过 Subject 与 Shiro 的核心组件 SecurityManager 交互,SecurityManager 包含以下几部分: Authenticator,负责身份认证 Authorize,负责授权 Session Manager,管理 Session SessionDAO,对 Session 进行持久化,可以使用 Redis、数据库等 Cache Manager,缓存管理 Realm,领域,负责从数据库查询数据以实现身份认证或授权 Cryptography,密…

2023年9月8日 0条评论 1007点热度 0人点赞 魔芋红茶 阅读全文

魔芋红茶

加一点PHP,加一点Go,加一点Python......

专栏
  • SpringMVC 学习笔记 SpringMVC 学习笔记
  • MySQL学习笔记 MySQL学习笔记
  • Spring Boot学习笔记 Spring Boot学习笔记
  • Java编程笔记 Java编程笔记
  • php学习笔记 php学习笔记
  • Go语言编程笔记 Go语言编程笔记
  • 设计模式 with Python 设计模式 with Python
  • Linux之旅 Linux之旅
  • 腾讯云博客搭建 腾讯云博客搭建
  • HTTP学习笔记 HTTP学习笔记
项目
  • M3U-Helper M3U-Helper
  • Markdown-img Markdown-img
  • PEP中文翻译项目 PEP中文翻译项目
工具箱
  • 我的Windows软件列表 我的Windows软件列表
点歌台
最新 热点 随机
最新 热点 随机
Redis 学习笔记 6:消息队列 Redis 学习笔记 5:分布式锁 Redis 学习笔记 4:优惠券秒杀 Redis 学习笔记 3:黑马点评 Redis 学习笔记 2:Java 客户端 Redis 学习笔记 1:基础
Redis 学习笔记 4:优惠券秒杀Redis 学习笔记 5:分布式锁Redis 学习笔记 6:消息队列
PEP 8 -- Style Guide for Python Code 抵制微信公众号,从我做起 告别UAC恼人的弹窗 从零开始 Spring Cloud 13:分布式事务 设计模式 with Python 8:模版方法模式 从零开始 Spring Boot 35:Lombok
最近评论
fuckbaidu 发布于 3 年前(02月26日) 兄弟,你新网址一直没备案成功
啊长 发布于 3 年前(12月17日) 膜拜大佬了,希望越做越好 :exclaim:
nfmd 发布于 4 年前(11月01日) 腾讯云出了个60块六年多的bug
nfmd 发布于 4 年前(10月30日) str.replace("逻辑", "罗辑")
fuckbaidu 发布于 4 年前(10月14日) 并不是所有的文件都能通过软链接转移,比如chrome浏览器,你要是转移了,就不能自动更新了
友情链接
  • NFMD's blog
  • 小金龙的blog
  • 幸哥的blog

COPYRIGHT © 2021 icexmoon.cn. ALL RIGHTS RESERVED.
本网站由提供CDN加速/云存储服务

Theme Kratos Made By Seaton Jiang

宁ICP备2021001508号

宁公网安备64040202000141号