Spring Security 相较于 Apache Shiro 更复杂,学习成本高,仅限于Spring框架中使用,但相较于Apache Shiro在权限控制方面更灵活。Apache Shiro比较容易,不局限于Spring框架,可以在多种环境下使用。
remberberme 让浏览器记住用户的cookie,session记录在redis中----支持集群
所有用户及对应的资源信息在初始化的时候就加载到每台机器的内存,验证通过的情况下,授权时用户自身的信息每次请求一次每次从新加载(url,角色 分开),用户请求url,在服务器中找此用户访问此url对应的role[].此资源要求的角色role[]和当前用户的角色(subject中有(role,perm,principal(用户信息)))是否匹配
其权限过滤器及配置释义:
过滤名称中有s的表示里面的参数需要全部验证通过,这种可以重写,只要具备其中一个即可,如重写role过滤器具备其中一个角色即可通过验证
anon:
例子/admins/**=anon 没有参数,表示可以匿名使用。
authc:
例如/admins/user/**=authc表示需要认证(登录)才能使用,没有参数
roles(角色):
例子/admins/user/**=roles[admin],参数可以写多个,参数之间用逗号分割,当有多个参数时,例如admins/user/**=roles["admin,guest"],每个参数通过才算通过,相当于hasAllRoles()方法。
perms(权限):
例子/admins/user/**=perms[add],参数可以写多个,例如/admins/user/**=perms["add, modify"],当有多个参数时必须每个参数都通过才通过,想当于isPermitedAll()方法。
rest:
例子/admins/user/**=rest[user],根据请求的方法,相当于/admins/user/**=perms[user:method] ,其中method为post,get,delete等。
port:
例子/admins/user/**=port[8081],当请求的url的端口不是8081是跳转到schemal://serverName:8081?queryString,其中schmal是协议http或https等,serverName是你访问的host,8081是url配置里port的端口,queryString
是你访问的url里的?后面的参数。
authcBasic:
例如/admins/user/**=authcBasic没有参数.表示httpBasic认证
ssl:
例子/admins/user/**=ssl没有参数,表示安全的url请求,协议为https
user:
例如/admins/user/**=user没有参数表示必须存在用户,当登入操作时不做检查
参看: https://blog.csdn.net/qq_39874546/article/details/79081950
相关推荐
学习 Java Shiro 可以通过思维导图来梳理核心概念和学习路径,以下是一个简要的 Java Shiro 学习思维导图。 Java Shiro 概述: 介绍 Java Shiro 的作用和目标。 理解 Shiro 的核心概念:Subject、SecurityManager...
### Shiro基础文档知识点梳理 #### 一、权限管理概览 权限管理是现代软件系统中不可或缺的一部分,它主要用于控制用户能够访问哪些资源,并确保只有经过适当授权的用户才能访问相应的资源。权限管理通常分为两个...
│ 4-3Shiro认证和授权流程和常用API梳理下集.mp4 │ ├─第5章-详细讲解ApacheShirorealm实战 │ 5-1Shiro安全数据来源之Realm讲解.mp4 │ 5-2快速上手之Shiro内置IniRealm实操.mp4 │ 5-3快速上手之Shiro...
│ 4-3Shiro认证和授权流程和常用API梳理下集.mp4 │ ├─第5章-详细讲解ApacheShirorealm实战 │ 5-1Shiro安全数据来源之Realm讲解.mp4 │ 5-2快速上手之Shiro内置IniRealm实操.mp4 │ 5-3快速上手之Shiro...
│ 4-3Shiro认证和授权流程和常用API梳理下集.mp4 │ ├─第5章-详细讲解ApacheShirorealm实战 │ 5-1Shiro安全数据来源之Realm讲解.mp4 │ 5-2快速上手之Shiro内置IniRealm实操.mp4 │ 5-3快速上手之Shiro...
│ 4-3Shiro认证和授权流程和常用API梳理下集.mp4 │ ├─第5章-详细讲解ApacheShirorealm实战 │ 5-1Shiro安全数据来源之Realm讲解.mp4 │ 5-2快速上手之Shiro内置IniRealm实操.mp4 │ 5-3快速上手之Shiro...
这个项目可能是作者在大学时期的学习实践作品,虽然可能存在一些不成熟之处,但对于初学者来说,是一个很好的学习资源,可以帮助理解如何将Java编程应用于实际业务场景。 在电信行业中,业务流程涵盖了许多方面,...
### JAVA面试宝典知识点梳理 #### 一、项目概述与技术栈 - **项目名称**:XXX考试App管理系统 - **技术栈**:Eclipse + Tomcat + MySQL + JDK + Spring + SpringMVC + MyBatis + Oauth2.0 + shiro - **功能描述**...
以下是文档中提到的一些核心知识点: 首先,文档强调了攻防演练的意义和目的,指出其主要在于检验企业的防护水平与安全等级,提升整体防护能力,展示安全价值,并从价值驱动的角度出发,实现企业的长远成功。此外,...
这一步骤包括对目标市场的研究,用户画像的建立,以及对业务流程的梳理。需求分析是整个架构设计的基石,它直接影响到后续的技术选型和系统设计。需求分析需要明确系统的非功能性需求,如性能、可靠性、可用性和安全...
这一步骤涉及到业务流程的梳理和功能模块的划分。 2. **系统架构设计**:在Java中,可能会采用MVC(Model-View-Controller)架构,将业务逻辑、用户界面和数据访问分离,提高代码的可维护性和可扩展性。同时,也...
笔记作者通过个人经验的积累,详细梳理了学习JavaWeb所需的关键知识点,旨在帮助读者快速掌握核心概念和技术。 首先,JavaWeb的基础包括Java语言的基本语法、面向对象编程思想,以及Servlet和JSP。Servlet是JavaWeb...
1. 使用Spring Security或Apache Shiro实现权限管理,确保系统安全。 2. 使用Thymeleaf或FreeMarker作为模板引擎,提升视图层的渲染效率和灵活性。 3. 通过Redis或Memcached实现缓存,提高系统的响应速度。 4. ...
- **权限控制**:可能会涉及到Spring Security或Apache Shiro等权限管理框架,学习如何实现用户登录、角色和权限的分配。 - **SVN基础**:版本控制系统的基本操作,如添加、提交、更新、合并等,用于团队协作和代码...
6. **安全框架**:Spring Security或者Apache Shiro可能被用来处理用户认证和授权,保护系统免受非法访问。 7. **支付接口**:如果项目实现了在线支付功能,它可能会集成支付宝、微信支付等第三方支付平台的SDK,...
在本项目中,我们关注的是一个大型实验项目——电子商城的源代码。这个项目对于学习者,特别是那些参与...在分析源代码的过程中,建议逐步梳理每个模块的功能,理解它们之间的交互,从而逐步掌握整个系统的运作机制。
- **安全控制**:Spring Security或者Apache Shiro用于用户认证与授权。 2. **核心功能模块**: - **用户模块**:包括用户注册、登录、个人信息管理等功能,通常会涉及验证码验证、密码加密等安全措施。 - **菜...
- **安全验证**:Spring Security或Apache Shiro进行用户认证与授权。 - **模板引擎**:如Thymeleaf或FreeMarker,用于生成动态HTML页面。 - **前端开发**:React、Vue.js或Angular等现代JavaScript框架构建用户界面...
- **用户认证与授权**:Spring Security或Apache Shiro可能用于处理用户登录、权限分配、会话管理等问题。 - **内容管理**:系统的核心部分,包括文章创建、编辑、分类、标签等功能,这通常涉及到复杂的业务逻辑和...