Shiro
Apache Shiro 是一个强大易用的 Java 安全框架,提供了认证、授权、加密和会话管理等功能,对于任何一个应用程序,Shiro 都可以提供全面的安全管理服务。对比 Spring Security,可能没有 Spring Security 做的功能强大,而Shiro 要简单的多。
T_P_F
这个作者很懒,什么都没留下…
展开
-
10.Shiro会话管理
1.会话管理,Shiro 提供了完整的企业级会话管理功能,不依赖于底层容器(如web容器tomcat),不管 JavaSE 还是 JavaEE 环境都可以使用,提供了会话管理、会话事件监听、会话存储/持久化、容器无关的集群、失效/过期支持、对Web 的透明支持、SSO 单点登录的支持等特性。2.会话,所谓会话即用户访问系统时保持的连接关系 在多次交互中应用能够识别出当前访问的用户是谁,且可以在多次交互中保存一些数据。3.API Subject.getSession():即可获取会话;其等价于S原创 2020-05-31 22:13:20 · 229 阅读 · 0 评论 -
9.Shiro标签,权限注解
1.Shiro 提供了 JSTL 标签用于在 JSP 页面进行权限控制,如根据登录用户显示相应的页面按钮。 guest 标签:用户没有身份验证时显示相应信息,即游客访问信息: <shiro:guest>欢迎游客访问,<a href="login.jsp">登录</a></shiro:guest>如果登录则不显示,不登录认证则显示 user 标签:用户已经经过认证/【记住我】登录后显示相应的信息。 <shiro:user>..原创 2020-05-31 22:12:38 · 303 阅读 · 0 评论 -
8.Shiro授权2_授权流程,多realm授权
1.授权流程如下: 1、首先调用 Subject.isPermitted*/hasRole* 接口,其会委托给SecurityManager,而 SecurityManager 接着会委托给 Authorizer; 2、Authorizer是真正的授权者,如果调用如isPermitted(“user:view”),其首先会通过PermissionResolver 把字符串...原创 2020-04-26 22:48:21 · 408 阅读 · 0 评论 -
7.Shiro授权1_授权,授权方式和Permissions
一 、授权1.授权:也叫访问控制,就是在应用中控制谁能访问那些资源(如访问页面/编辑数据/页面操作等)。在授权中需了解的几个关键对象:主体(Subject)、资源(Resource)、权限(Permission)、角色(Role)。2.主体(Subject):访问应用的用户,在 Shiro 中使用 Subject 代表该用户。用户只有授权后才允许访问相应的资源。3.资源(Resourc...原创 2020-04-26 22:44:27 · 501 阅读 · 0 评论 -
6.Shiro授权_前提
1.前提:前边学多realm的时候,使用一个认证器authenticator,同时该认证器会配置到securityManager的bean下,代码如下:<bean id="securityManager"class="org.apache.shiro.web.mgt.DefaultWebSecurityManager"> <property name="aut...原创 2020-04-26 22:42:40 · 395 阅读 · 0 评论 -
5.Shiro认证流程3_ 多realm认证,认证策略
1.多realm验证,那么首先肯定是有多个自定义realm,然后在返回的SimpleAuthenticationInfo()对象是一样的,只不过在需要在IOC容器中多配置一步。这里以MD5和SHA1为例。注入自定义realm的Bean <bean id="jdbcRealm" class="com.test.shiro.realm.ShiroRealm">...原创 2020-04-26 22:28:22 · 334 阅读 · 0 评论 -
4.Shiro认证流程2_密码比对,MD5加密,MD5盐值加密
调用自定义Realm之后 执行方法:doGetAuthenticationInfo()方法后返回AuthenticationInfoRealm是shiro中进行认证和授权的组件,自带了几种实现。自定义Realm继承AuthorizingRealm,分别实现认证和授权的方法 doGetAuthenticationInfo(AuthenticationTokentoken)是...原创 2020-04-26 21:55:57 · 432 阅读 · 0 评论 -
3.Shiro认证流程1_调用自定义realm
一、认证流程认证即登录1.获取当前的Subject,使用SecurityUtils.getSubject()2.测试当前用户是否已经被认证,即是否已经登录,调用Subject的isAuthenticated()方法3.若没有认证,则需要把账号密码封装成UsernamePasswordToken对象,提交到Handler。 ①表单页面 ②提交到Handler...原创 2020-04-26 21:54:16 · 368 阅读 · 0 评论 -
2.Shiro简单集成Spring
1.这里只是做一个简单的集成,功能是只能访问允许的页面,需要认证的页面则无法访问。 环境:EclipseOxygen,Maven3.5.2,JDK1.8.0_191,Tomcat v8.5 引入Spring依赖和Shiro的依赖 <dependency> <groupId>log4j</groupId> ...原创 2020-03-29 21:25:16 · 288 阅读 · 0 评论 -
1.Shiro的helloWorld
1.在Shiro的官网上下载shiro-root-1.3.2-source-release.zip源码包。2.新建Java项目或者Maven项目,3.导入jar包log4j-1.2.17.jarslf4j-log4j12-1.7.16.jarshiro-all-1.2.5.jarslf4j-api-1.7.16.jar粘贴samples\quickstart目录下的文件...原创 2020-03-29 21:12:22 · 244 阅读 · 0 评论 -
0.Shiro学习
1. Apache Shiro 是一个强大易用的 Java 安全框架,提供了认证、授权、加密和会话管理等功能,对于任何一个应用程序,Shiro 都可以提供全面的安全管理服务。对比 Spring Security,可能没有 Spring Security 做的功能强大,而Shiro 要简单的多。2. Shiro 可以非常容易的开发出足够好的应用,其不仅可以用在 JavaSE 环境,也可以用在 J...原创 2020-03-29 21:08:23 · 259 阅读 · 0 评论