shiro

Shiro入门学习实战之Shiro结合Shiro.ini实现认证过程(二)

你。 提交于 2019-12-02 14:53:40
一、概述   前边简单了解了Shiro的基本组件、架构图等,现在也是时候操练一把…… 二、Shiro.ini文件 1.文件说明 ①ini(InitializationFile)初始文件:Window系统文件扩展名 ②Shiro使用时可以连接数据库,也可以不连接数据库(可以使用shiro.ini配置静态数据) 2.shiro文件组成部分 ①[main]:定义全局变量(内置securityManager对象) 来源: https://www.cnblogs.com/rmxd/p/11751037.html

shiro实现用户踢出功能

試著忘記壹切 提交于 2019-12-02 14:48:52
shiro实现用户踢出功能 KickoutSessionControlFilter package com.infotech.security.filter; import java.io.IOException; import java.io.PrintWriter; import java.io.Serializable; import java.util.ArrayDeque; import java.util.Deque; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import com.fasterxml.jackson.databind.ObjectMapper; import org.apache.shiro.cache.Cache; import org.apache.shiro.cache.CacheManager; import org.apache.shiro.session.Session; import org.apache.shiro.session.mgt.DefaultSessionKey; import org.apache.shiro.session

Shiro入门学习与实战(一)

天涯浪子 提交于 2019-12-02 14:46:59
一、概述 1.Shiro是什么?   Apache Shiro是java 的一个安全框架,主要提供:认证、授权、加密、会话管理、与Web集成、缓存等功能,其不依赖于Spring即可使用;   Spring Security(Oauth2)也是一个开源的权限框架,但其依赖于Spring运行,功能相对强大;而Shiro相对独立,不依赖于Spring,使用简单、灵活,所以我选择Shiro学习。哈哈~ 2.Shiro基本功能 ①Authentication(音标: [ɔːˌθentɪˈkeɪʃn] )   身份认证,验证用户是不是拥有相应的身份。 ②Authorization(音标:[ˌɔːθərəˈzeɪʃn])   授权即权限验证,验证某个已认证的用户是否拥有某个权限(比如接下来我要实现的:不用用户拥有不用的菜单树) ③Session Management   会话管理,在用户登录后,退出之前,所有信息都存在于会话中(这里可以用于sso单点登录) ④Crptography   加密,保护数据的安全性(比如密码加密存储到数据库,而不是明文存储) ⑤Web支持   非常容易集成到Web环境 ⑥Caching   缓存,比如用户登录后,其用户信息、拥有的角色/权限不必每次去查,这样可以提高效率 ⑦Concurrency   Shiro支持多线程应用宝并发验证,(即在一个线程中开启另一个线程

Springboot整合Shiro

女生的网名这么多〃 提交于 2019-12-02 13:29:09
1、导入依赖 <!--shiro--> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</artifactId> <version>1.4.0</version> </dependency> 2、创建ShiroRealm.java文件 (这里按照需求,只做登录认证这块) package com.hyqfx.manager.shiro; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.hyqfx.manager.entity.po.SystemAdmin; import com.hyqfx.manager.service.ISystemAdminService; import org.apache.shiro.authc.*; import org.apache.shiro.authz.AuthorizationInfo; import org.apache.shiro.realm.AuthorizingRealm; import org.apache.shiro.subject.PrincipalCollection; import org.springframework.beans.factory

Shiro集成Spring

£可爱£侵袭症+ 提交于 2019-12-02 11:48:59
代码链接: https://github.com/hello0709/shirospring 注意:重点在于shiro的运行流程,只有掌握了流程,学习shiro整合spring就会变的简单起来! 参考资料: https://www.w3cschool.cn/shiro/rmvk1if1.html https://www.imooc.com/video/16959 来源: https://blog.csdn.net/weixin_43108539/article/details/102745912

简单的shirod例子

烂漫一生 提交于 2019-12-02 11:31:22
有几种方式其他的记不住了,这里把我常用的一种介绍一下。 shiro这个功能对应五张数据库表 一个人可以有多个角色,一个角色可以有多个权限 先写一个配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!-- 配置自定的Realm类 --> <bean id="myRealm" class="com.zhiyou.shiro.realm.MyRealm"/> <!-- 配置SecurityManager的bean --> <bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager"> <property name="realm" ref="myRealm"/> <

shiro入门笔记之第一个demo创建

回眸只為那壹抹淺笑 提交于 2019-12-02 11:01:39
前言 看到这篇文章之前,可能很多小伙伴都没听过shiro,那么shiro是什么呢?shiro是Apache基金会下一个非常有名的开源项目(项目官网: http://shiro.apache.org/ ),官网是这样介绍的: Apache Shiro™是一个功能强大且易于使用的Java安全框架,它执行身份验证、授权、加密和会话管理。使用Shiro易于理解的API,您可以快速轻松地保护任何应用程序—从最小的移动应用程序到最大的Web和企业应用程序。 接下来就让我们近距离地了解shiro吧。 一、创建maven项目 1.选择maven模板,填写项目信息 选择maven,这里我选择的模板是quickstart 填写项目信息 设置项目maven配置,如果没有特殊设置,直接下一步 设置项目保存路径 maven项目到此创建完成,下面开始shiro demo 二、编写shiro demo 1.导入依赖包 导入如下依赖 <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.2.6</version> </dependency> 2.编写java package io.github.syske;/* * Licensed to the Apache Software

Shiro权限框架学习-表结构设计

£可爱£侵袭症+ 提交于 2019-12-02 08:03:50
权限模型 参照权限模型来设计自己的表 表结构设计 在权限管理系统中一般会涉及5张表,分别为 1.sys_users 用户表 2.sys_roles 角色表 3.sys_permissions 权限或资源表 4.sys_users_roles 用户角色关系表 5.sys_roles_permissions 角色权限关系表 sys_users 用户表 CREATE TABLE ` sys_users ` ( ` id ` bigint ( 11 ) NOT NULL AUTO_INCREMENT COMMENT '用户id' , ` account ` varchar ( 45 ) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '账号' , ` password ` varchar ( 45 ) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '密码' , ` sex ` tinyint ( 1 ) DEFAULT '0' COMMENT '性别 0男 1女' , ` idcard ` varchar ( 225 ) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '身份证' , ` email ` varchar ( 45 )

两种RBAC权限控制模型详解

笑着哭i 提交于 2019-12-02 06:41:02
序言 由于最近一直卡在权限控制这个坎上,原来设计的比较简单的权限控制思路已经无法满足比较复杂一些的场景,因此一直在探索一种在大部分场景下比较通用的权限模型。 首先,这里说明一下两种RBAC权限模型分别是“基于角色的权限控制(Role-Based-Access-Control)”和“基于资源的权限控制(Resource-Based-Access-Control)”两种模型,这两种模型是Java最常见的权限控制的模型。它们之间的数据库结构区别并没有太大,甚至也可以一样。都是以最基础的五张表(用户表、角色表、用户-角色关系表、权限表、角色-权限关系表)组成,往后再复杂的业务再在这个基础上进行拓展,例如加入用户组、组织、模块等等概念,可以参考一下一这篇文章: https://blog.csdn.net/qiaqia609/article/details/38102091 下面就以Spring Boot + Shiro为载体来具体记录一下。 1.准备数据库 首先还是最基础的五张表,后续的所有需求都是在这上面来拓展的,不管是基于角色还是基于资源都是差不多的数据结构。 这里还是贴一下Shiro的配置文件:ShiroConfig.java /** * @author phw * @date Created in 04-08-2018 * @description

Spring MVC Thymeleaf Shiro Dialect 整合

本秂侑毒 提交于 2019-12-02 06:09:04
Shiro官方支持多种模板方言,却没有为Thymeleaf提供支持,幸好有第三方提供的 thymeleaf-extras-shiro 它与Springboot的整合比较简单,这里就不介绍了。 在与SpringMVC整合时,却遇到了让人头疼的问题,网上到处搜索,一步步调试代码,最终找到了解决方案。 第一步,引用thymeleaf-extras-shiro包 <dependency> <groupId>com.github.theborakompanioni</groupId> <artifactId>thymeleaf-extras-shiro</artifactId> <version>2.0.0</version> </dependency> 第二步,声明bean <bean id="shiroDialect" class="at.pollux.thymeleaf.shiro.dialect.ShiroDialect"/> 第三步,将ShiroDialect加入到Thymeleaf模板引擎中 <bean id="templateEngine" class="org.thymeleaf.spring5.SpringTemplateEngine"> <property name="templateResolvers" ref="templateResolver" />