Shiro-SpringSecurity
文章平均质量分 87
流行的权限框架
流烟默
这个作者很懒,什么都没留下…
展开
-
SpringSecurity原理分析之那些过滤器
SpringSecurity采用的是责任链的设计模式,它有一条很长的过滤器链。Spring Security采取过滤链实现认证与授权,只有当前过滤器通过,才能进入下一个过滤器:绿色部分是认证过滤器,需要我们自己配置,可以配置多个认证过滤器。认证过滤器可以使用Spring Security提供的认证过滤器,也可以自定义过滤器(例如:短信验证)。认证过滤器要在configure(HttpSecurity http)方法中配置,没有配置不生效。原创 2019-08-22 16:03:37 · 7394 阅读 · 0 评论 -
SpringSecurity在微服务中应用实践思考
本文我们记录总结一些SpringSecurity在微服务中具体的应用场景并不断完善。我们可能需要考虑这些问题:* 1.RBAC基本权限模型设计* 2.用户实体设计* 3.存储与传播机制设计* 4.角色权限的控制* 5.SpringSecurity的自定义服务# 【1】RBAC基本权限模型设计这个想对要容易理解一点,通常有如下模型:* sys_permission 权限表* sys_role 角色表* sys_role_permission 角色权限关联表* sys_user 用户表原创 2017-10-26 14:40:50 · 24737 阅读 · 1 评论 -
SpringSecurity对CSRF的支持实践
跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。跟跨网站脚本(XSS)相比,XSS利用的是用户对指定网站的信任,CSRF 利用的是网站对用户网页浏览器的信任。原创 2023-07-02 15:49:54 · 801 阅读 · 1 评论 -
SpringSecurity实现Remember-Me实践
SpringSecurity实现remember-me的两种方式:基于cookie技术与基于数据库技术。原创 2023-06-27 18:09:02 · 644 阅读 · 0 评论 -
SpringSecurity请求授权规则配置与注解使用说明
SringSecurity请求授权规则配置与注解使用说明这里主要是重写WebSecurityConfigurerAdapter 的configure方法。① 自定义登录这里与 都可以实现认证成功后跳转的效果,不过具体用法上有所区别。通常建议使用,至于具体区别后面另开章节学习。原创 2023-06-27 15:13:47 · 645 阅读 · 0 评论 -
SpringSecurity基础入门详解
Spring 是非常流行和成功的 Java 应用开发框架,Spring Security正是Spring家族中的成员。Spring Security 基于 Spring 框架,提供了一套 Web 应用安全性的完整解决方案。正如你可能知道的关于安全方面的两个主要区域是“认证”和“授权”(或者访问控制),一般来说,Web 应用的安全性包括用户认证(Authentication)和用户授权(Authorization)两个部分,这两点也是Spring Security重要核心功能。原创 2023-06-27 11:34:46 · 1086 阅读 · 0 评论 -
SpringBoot - 安全入门与SpringSecurity
市面上有两种常见的安全框架,Shiro和SpringSecurity。功能都很强大,用户数量也都很多。SpringSecurity优势在于能和Spring无缝衔接。Shiro系列教程:https://blog.csdn.net/j080624/article/category/7006814Shiro官网地址:https://shiro.apache.org/Spring Securi...原创 2018-07-09 10:36:20 · 3675 阅读 · 0 评论 -
Shiro - 会话管理与SessionDao持久化Session
Shiro提供了完整的企业级会话管理功能,不依赖于底层容器(如web容器tomcat),不管JavaSE还是JavaEE环境都可以使用,提供了会话管理、会话事件监听、会话存储/持久化、容器无关的集群、失效/过期支持、对Web 的透明支持、SSO 单点登录的支持等特性。【1】Shiro Session接口与实现类这里的Session不再是我们通常使用的javax.servlet.http.Htt...原创 2018-11-04 11:25:27 · 1769 阅读 · 0 评论 -
Shiro - RememberMe记住我功能实现
【1】认证和记住我① 记住我Shiro提供了记住我(RememberMe)的功能,比如访问如淘宝等一些网站时,关闭了浏览器,下次再打开时还是能记住你是谁,下次访问时无需再登录即可访问,基本流程如下:首先在登录页面选中RememberMe然后登录成功;如果是浏览器登录,一般会把RememberMe的Cookie 写到客户端并保存下来;关闭浏览器再重新打开;会发现浏览器还是记住你的;访问一...原创 2018-11-06 17:43:38 · 5925 阅读 · 0 评论 -
Shiro - 缓存管理与CacheManagerAware接口
Shiro内部相应的组件(DefaultSecurityManager)会自动检测相应的对象(如Realm)是否实现了CacheManagerAware并自动注入相应的CacheManager。如项目启动日志:[INFO][2018-11-06 15:18:18,443][org.apache.shiro.cache.ehcache.EhCacheManager]Cache with name...原创 2018-11-06 15:32:21 · 3208 阅读 · 0 评论 -
Shiro - 授权那些事
前面说了认证那些事,这里继续说授权那些事。【1】授权几个概念授权,也叫访问控制,即在应用中控制谁访问哪些资源(如访问页面/编辑数据/页面操作等)。在授权中需了解的几个关键对象:主体(Subject)、资源(Resource)、权限(Permission)、角色(Role)。① 主体(Subject)访问应用的用户,在Shiro中使用Subject代表该用户。用户只有授权后才允许访问相应的资...原创 2018-11-03 15:44:07 · 933 阅读 · 0 评论 -
Shiro - 基础入门及Spring整合
ApacheShiro是Java 的一个安全(权限)框架。Shiro可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE环境,也可以用在JavaEE环境。Shiro可以完成:认证、授权、加密、会话管理、与Web 集成、缓存等。原创 2016-11-21 10:04:50 · 873 阅读 · 0 评论 -
Shiro -认证凭据(密码)加密的那些事
一般来说,实际项目中隐私数据没有在网络上明文跑路,都会采用不同的加密算法。Shiro中的认证凭据通常也会采用算法进行加密。【1】CredentialsMatcher接口该接口只有一个方法,doCredentialsMatch,就是用来进行密码比较的!源码如下:public interface CredentialsMatcher { /** * Returns {@co...原创 2018-10-31 15:31:45 · 2962 阅读 · 0 评论 -
Shiro - 认证那些事
【1】认证① 身份认证身份认证是第一道门户,进去之后才能谈论授权的问题。身份验证,一般需要提供如身份ID 等一些标识信息来表明登录者的身份,如提供email,用户名/密码来证明。在shiro中,用户需要提供principals (身份)和credentials(证明)给shiro,从而应用能验证用户身份:principals:身份,即主体的标识属性,可以是任何属性,如用户名、邮箱等,唯...原创 2018-10-25 15:41:35 · 664 阅读 · 0 评论 -
Shiro - Java注解实现
Shiro提供了五种在后台使用注解实现权限验证。@RequiresAuthentication;@RequiresGuest;@RequiresPermissions;@RequiresRoles;@RequiresUser;【1】@RequiresAuthentication可以用于类/属性/方法,用于表明当前用户需是经过认证的用户。 @RequiresAuthentication p原创 2017-07-21 12:05:35 · 970 阅读 · 0 评论 -
Shiro - JSP页面标签应用
【1】<shiro:hasRole/>如果有该角色,则校验通过。name属性值只能为单个。示例如下: <shiro:hasRole name ="admin"> ... <shiro:hasRole/>【2】<shiro:hasAnyRoles/>如果是角色中的一个,则校验即可通过。name值可为多个。示例如下:<shiro:hasAnyRol原创 2017-07-04 19:13:41 · 1374 阅读 · 2 评论