spring security shiro(springsecurity是不是用了apache的shiro呀)
本文目录
springsecurity是不是用了apache的shiro呀
不是呀 这两个原理都不一样springsecurity 的实现原理: 核心 :登陆验证拦截器AuthenticationProcessingFilter 资源管理拦截器AbstractSecurityInterceptor以及AuthenticationManager、accessDecisionManager等组件来支撑。 流程:用户登陆,会被AuthenticationProcessingFilter拦截,调用AuthenticationManager的实现,而且AuthenticationManager会调用ProviderManager来获取用户验证信息(不同的Provider调用的服务不同,因为这些信息可以是在数据库上,可以是在LDAP服务器上,可以是xml配置文件上等),如果验证通过后会将用户的权限信息封装一个User放到spring的全局缓存SecurityContextHolder中,以备后面访问资源时使用。 访问资源(即授权管理),访问url时,会通过AbstractSecurityInterceptor拦截器拦截,其中会调用FilterInvocationSecurityMetadataSource的方法来获取被拦截url所需的全部权限,在调用授权管理器AccessDecisionManager,这个授权管理器会通过spring的全局缓存SecurityContextHolder获取用户的权限信息,还会获取被拦截的url和被拦截url所需的全部权限,然后根据所配的策略(有:一票决定,一票否定,少数服从多数等),如果权限足够,则返回,权限不够则报错并调用权限不足页面shiro的实现原理:Shiro的三个核心组件:Subject, SecurityManager 和 Realms.Subject:即“当前操作用户”。但是,在Shiro中,Subject这一概念并不仅仅指人,也可以是第三方进程、后台帐户(Daemon Account)或其他类似事物。它仅仅意味着“当前跟软件交互的东西”。但考虑到大多数目的和用途,你可以把它认为是Shiro的“用户”概念。 Subject代表了当前用户的安全操作,SecurityManager则管理所有用户的安全操作。 SecurityManager:它是Shiro框架的核心,典型的Facade模式,Shiro通过SecurityManager来管理内部组件实例,并通过它来提供安全管理的各种服务。 Realm: Realm充当了Shiro与应用安全数据间的“桥梁”或者“连接器”。也就是说,当对用户执行认证(登录)和授权(访问控制)验证时,Shiro会从应用配置的Realm中查找用户及其权限信息。 从这个意义上讲,Realm实质上是一个安全相关的DAO:它封装了数据源的连接细节,并在需要时将相关数据提供给Shiro。当配置Shiro时,你必须至少指定一个Realm,用于认证和(或)授权。配置多个Realm是可以的,但是至少需要一个。 Shiro内置了可以连接大量安全数据源(又名目录)的Realm,如LDAP、关系数据库(JDBC)、类似INI的文本配置资源以及属性文件等。如果缺省的Realm不能满足需求,你还可以插入代表自定义数据源的自己的Realm实现。
springside 中的shiro 有什么用
shiro 是目前常用的安全框架 以前用spring security多一点主要干2件事1.对于访问的控制,shiro可以设定访问某些URL必须具有某些角色和权限。 比如你是普通用户你没有权限进行系统管理, 即使你把系统管理模块的URL输入到浏览器地址栏里,shiro也会禁止的访问。2. 单点登陆,一个账号只能同时在线一个人,就像qq,你一台电脑上登qq,再换另一台登陆会把你先登陆的挤下线
spring shiro注解配置不生效
不知道你解决了没,你是不是用了springmvc,如果使用springmvc的话,在springmvc-servlet.xml文件中也要添加几行shiro需要使用的代码,添加内容如下:《bean class=“org.springframework.web.servlet.handler.SimpleMappingExceptionResolver“》 《property name=“exceptionMappings“》 《props》 《prop key=“org.apache.shiro.authz.UnauthorizedException“》/403《/prop》 《/props》 《/property》 《/bean》 《bean class=“org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator“ depends-on=“lifecycleBeanPostProcessor“/》 《bean class=“org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor“》 《property name=“securityManager“ ref=“securityManager“/》《/bean》这样在使用shiro的权限注解的时候就可用了
更多文章:
手机视频mp4格式怎么弄(如何在手机版优酷里把视频的格式改为mp4格式)
2024年6月26日 16:59
无法连接到appstore怎么弄(iPad 无法连接到appstore怎么解决)
2024年5月17日 23:16
搜狗手机助手最新版下载(《搜狗手机助手》通过WiFi连接手机方法介绍)
2024年5月11日 01:29
女生对你说她是16你是5是什么意思?被减数字是16,减数字是5,它们的差是多少
2023年7月12日 21:20
《读者》杂志从微信公众号里摘取文章,你认为还有公信力吗?读者提问:十四五岁的孩子痴迷于玩手机,怎么办
2024年7月17日 06:36
通达oa精灵2017手机版(通达oa精灵手机版工作流有内容打开后显示无工作流什么原因)
2024年7月19日 18:40
msvcrtd dll(电脑总提示“没有找到msvcrtd.dll”怎么办)
2024年5月14日 04:06