shiro

Shrio使用Jwt达到前后端分离

核能气质少年 提交于 2019-11-28 10:44:55
概述 前后端分离之后,因为HTTP本身是无状态的,Session就没法用了。项目采用jwt的方案后,请求的主要流程如下:用户登录成功之后,服务端会创建一个jwt的token(jwt的这个token中记录了当前的操作账号),并将这个token返回给前端,前端每次请求服务端的数据时,都会将令牌放入Header或者Parameter中,服务端接收到请求后,会先被拦截器拦截,token检验的拦截器会获取请求中的token,然后会检验token的有效性,拦截器都检验成功后,请求会成功到达实际的业务流程中,执行业务逻辑返回给前端数据。在这个过程中,主要涉及到Shiro的拦截器链,Jwt的token管理,多Realm配置等。 Shiro的Filter链 Shiro的认证和授权都离不开Filter,因此需要对Shiro的Filter的运行流程很清楚,才能自定义Filter来满足企业的实际需要。另外Shiro的Filter虽然原理都和Servlet的Filter相似,甚至都最终继承相同的接口,但是实际还是有些差别。Shiro中的Filter主要是在ShiroFilter内,对指定匹配的URL进行拦截处理,它有自己的Filter链;而Servlet的Filter和ShiroFilter是同一个级别的,即先走Shiro自己的Filter体系

swagger结合shiro如何配置

让人想犯罪 __ 提交于 2019-11-28 10:25:57
为了节省开发人员的时间与成本,swagger插件油然而生,省去您写开发文档的时间好好去快乐的玩耍,不说废话,接下来我将使用github上比较受欢迎的swagger-bootstrap-ui插件进行说明讲解,可能与swagger在配置上有所不同,但是原理差不过,只是在资源文件的 过滤 方面有所 不同 ,特别是结合了 过滤 spring security或者是 shiro 的有尤为注意: 添加依赖 <properties> <java.version>1.8</java.version> <shiro.version>1.4.0</shiro.version> <swagger2.version>2.9.2</swagger2.version> </properties> <!--swagger api文档 start--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>${swagger2.version}</version> <exclusions> <exclusion> <groupId>io.swagger</groupId> <artifactId>swagger-models</artifactId> </exclusion

Shiro_项目_审核入库订单&&库存预警&&发送邮件

二次信任 提交于 2019-11-28 08:56:03
文章目录 1 进销存模块分类 1.1 基本模块内容 1.2 进销存核心模块 2 进销存业务逻辑 2.1 建立入库订单(组合关系、主从表) 2.1.1 仓库 2.1.2 入库订单:组合关系的一方 2.1.3 入库订单明细:组合关系的多方 2.1.4 即时库存 2.2 级联保存 2.2.1 导包 2.2.2 保存测试 2.3 审核采购入库单 3 库存预警 3.1 pom.xml添加jar文件 3.2 任务调度/定时调度jar文件 3.3 发出预警的最佳时机 3.4 java.util.Timer 3.5 使用OpenSymphony Quartz 任务调度 3.5.1 ApplicationContext-qz.xml配置 3.5.2 applicationContext.xml配置 3.5.3 代码部分 4 邮件 4.1 pom.xml添加jar文件 4.2 ApplicationContext-email.xml配置 4.3 开启smtp协议 4.4 简单邮件和复杂邮件 4.4.1 简单邮件 4.4.2 复杂邮件 ,支持附件形式(图片或者文档) 1 进销存模块分类 1.1 基本模块内容 组织机构模块:公司,部门,员工 系统模块: 角色,权限,菜单-- 使用系统之前的 这些就应该维护到系统 基础数据模块:(数据字典(下拉框) )产品,产品类型,供应商(采购),客户(销售) 1.2

Inject CDI managed bean in custom Shiro AuthorizingRealm

拈花ヽ惹草 提交于 2019-11-28 08:31:15
In an app I'm building we're using straight Java 6 EE and JBoss (no Spring, etc), with JPA/Hibernate, JSF, CDI and EJBs. I haven't found many good general security solutions (recommendations are welcome), but the best bet I found is Apache Shiro. However this seems to have a number of shortcomings. Some of which you can read about at Balus C's site: http://balusc.blogspot.com/2013/01/apache-shiro-is-it-ready-for-java-ee-6.html But I've stumbled on another big problem which is already mentioned here regarding dependency injection and proxying. Basically I have a nicely written JPA-based UserDAO

Shiro Authorization Permission check using Annotation not working

不打扰是莪最后的温柔 提交于 2019-11-28 06:38:40
Platform: Shiro 1.1.0, Spring 3.0.5 I'm trying to secure the MVC Controller methods using Shiro annotation. However something is wrong with annotations. Regular calls are just working OK. There is nothing specific in Shiro debug also. My shiro configuration: <!-- Security Manager --> <bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager"> <property name="sessionMode" value="native" /> <property name="realm" ref="jdbcRealm" /> <property name="cacheManager" ref="cacheManager"/> </bean> <!-- Caching --> <bean id="cacheManager" class="org.apache.shiro.cache.ehcache

shiro 配置参数的含义

試著忘記壹切 提交于 2019-11-28 05:57:11
anon 任何用户发送的请求都能够访问 authc 经过认证的请求可访问,否则将会将请求重定向到 ini 配置文件配置的 authc.loginUrl 资源,进行认证操作 authc.loginUrl=/login.jsp 用户认证资源地址是/login authc.successUrl=/ #认证成功后重定向到此资源 authc.usernameParam=username #从请求参数中获取key=username的value作为用户名 authc.passwordParam=password #从请求参数中获取key=password的value作为密码 authc.rememberMeParam=rememberMe #从请求参数中获取key=rememberMe的value作为是否记住密码的标识 logout 结束会话 logout.redirectUrl=/ #结束会话后重定向到此资源 port 指定请求端口 port=8080 #8080端口的请求可通过 上文中经过认证的意思:见链接: https://www.cnblogs.com/isme-zjh/p/11395917.html 原文链接:https://blog.csdn.net/tengdazhang770960436/article/details/53486160 来源: https://www

xml配置文件中对于Shiro 权限管理filterChainDefinitions过滤器配置

那年仲夏 提交于 2019-11-28 05:51:42
博客转载:http://blog.csdn.net/userrefister/article/details/47807075 /** * Shiro-1.2.2内置的FilterChain * @see ========================================================================================================= * @see 1)Shiro验证URL时,URL匹配成功便不再继续匹配查找(所以要注意配置文件中的URL顺序,尤其在使用通配符时) * @see 故filterChainDefinitions的配置顺序为自上而下,以最上面的为准 * @see 2)当运行一个Web应用程序时,Shiro将会创建一些有用的默认Filter实例,并自动地在[main]项中将它们置为可用 * @see 自动地可用的默认的Filter实例是被DefaultFilter枚举类定义的,枚举的名称字段就是可供配置的名称 * @see anon---------------org.apache.shiro.web.filter.authc.AnonymousFilter * @see authc--------------org.apache.shiro.web.filter.authc

shiro

倖福魔咒の 提交于 2019-11-28 02:41:30
1.所需要jar包 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.22.RELEASE</version> </dependency> <!-- springboot-starter-web --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>1.5.22.RELEASE</version> </dependency> <!-- springboot-mybatis整合包 --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.0</version> </dependency> <!-- mysql的驱动包 --> <dependency> <groupId>mysql<

springboot整合shiro安全框架

谁说我不能喝 提交于 2019-11-28 00:38:05
一、shiro简介 概述 apache shiro 是java的一个轻量级的安全框架,功能没有spring security全面,但对于一般的的项目已经足够。其最大的优点是易于上手,所以大多的公司都会用shiro. Shiro 可以帮助我们完成:认证、授权、加密、会话管理、与 Web 集成、缓存等 组件 Subject :主体,可以是任何能与应用交互的 “用户”; SecurityManager :相当于 SpringMVC 中的 DispatcherServlet;是 Shiro 的心脏;它管理着所有 Subject、且负责进行认证和授权、及会话、缓存的管理。 Authenticator :认证器,负责主体认证的, Shiro 提供默认,但也可以自定义实现;其需要认证策略(Authentication Strategy),即什么情况下算用户认证通过了; Authrizer :授权器,或者访问控制器,用来决定主体是否有权限进行相应的操作;即控制着用户能访问应用中的哪些功能; Realm :可以有 1 个或多个 Realm,用于获取安全实体的;可以是 JDBC 实现,也可以是 LDAP 实现,或者内存实现等等;由用户提供; 注意:Shiro 不知道你的用户 / 权限存储在哪及以何种格式存储;所以我们一般在应用中都需要实现自己的 Realm; SessionManager