原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 开涛shiro教程-第二十一章-授予身份与切换身份(二) 1.回顾上节 在<2017.2.15 开涛shiro教程-第二十一章-授予身份与切换身份(一)table.entity.service.dao >中,做了这四件事.这只是准备材料,要实现 B 假借 A 的身份进行访问,还需要完成controller部分. 1 table:sys_user_runas 2…
原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 第二十一章 授予身份与切换身份(一) 1.使用场景 某个领导因为某些原因不能访问一些网站,他想把这个网站上的工作委托给秘书,但是他又不想提供账户.密码.此时可以使用shiro的 RunAs 功能. RunAs:允许一个用户假装为另一个用户(如果获得了允许)的身份进行访问. 注意,本章代码基于<第十六章 综合实例>,详细的数据模型及基本流程见该章. 2.表及数据…
原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 第六章 Realm及相关对象(二) 1.AuthenticationToken 由上篇可知,AuthenticationToken出现在UserRealm的方法doGetAuthenticationInfo()中.这个方法是用来验证的,token是验证时所用的参数. protected AuthenticationInfo doGetAuthenticationI…
原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 开涛shiro教程-第十七章-OAuth2集成 1.OAuth2介绍 (1)应用场景 很多开放平台,比如新浪微博开放平台,都在使用开发API接口供开发者使用.即带来了,第三方应用要到开放平台授权的问题.OAuth就是做这个的. OAuth2官网:http://oauth.net/2/ OAuth2协议:http://tools.ietf.org/html/rfc6…
2017.2.9 开涛shiro教程-第七章-与Web集成(一) 原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. shiro提供了与Web集成的支持,通过ShiroFilter来拦截需要安全控制的URL.ShiroFilter是安全控制的入口点,负责读取配置文件,然后判断URL是否需要登录/权限工作.ShiroFilter 类似于如 Strut2/SpringMVC 这种 web 框架的前端控制器. 1.准备环…
原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 开涛shiro教程-第十七章-OAuth2集成 3.客户端 客户端流程可以参照如很多网站的新浪微博登录功能,或其他的第三方帐号登录功能. 客户端进行登录操作 跳到oauth2服务端,进行登录授权.成功后,服务端返回auth code. 客户端使用auth code去服务器换取access token. 客户端根据access token得到用户信息,进行客户端的登…
原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 第六章 Realm及相关对象(四) 1.Subject的代码结构 Subject是shiro的核心,基本所有身份验证.授权都是通过Subject完成的. public interface Subject { //身份信息获取 Object getPrincipal(); //Primary Principal PrincipalCollection getPrin…
原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 第六章 Realm及相关对象 1.用户.角色.权限的关系 用户和角色是多对多,角色和权限也是多对多. 用户和权限通过角色建立关系. 角色是权限的集合. (1)表准备 用户表: 角色表: 剩下的表类似,就不一一解释了.分别是权限表,用户-角色表,角色权限表. (2)表对应的实体 2.环境准备 (1)pom.xml 3.Service和Dao层 (1)Service层…
原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 第六章 Realm及相关对象(三) 1.准备3个Realm MyRealm1,MyRealm2,MyRealm3. (1)MyRealm1 public class MyRealm1 implements Realm { @Override public String getName() { return "a"; //realm name 为 “a”…
原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 开涛shiro教程-第十八章-并发登录人数控制 shiro中没有提供默认实现,不过可以很容易实现.通过shiro filter机制拓展KickoutSessionControllerFilter. kickoutSessionControllerFilter  ->  将这个filter配置到shiro的配置文件中 -> 遇到的一些问题. 示例代码的结构: 1.…
原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 第十二章-与Spring集成(二)shiro权限注解 shiro注解不仅可以使用在web环境,在独立的JavaSE中也是可以使用的.下面只以web为例. shiro提供了spring aop集成用于权限注解的解析和验证. 1.在spring-mvc.xml文件中添加注解支持 <aop:config proxy-target-class="true"…
原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 第十二章-与Spring集成(一)配置文件详解 1.pom.xml junit common-logging common-collections shiro-core shiro-web shiro-ehcache shiro-quartz shiro-spring spring-context spring-aop spring-jdbc spring-web…
原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 1.拦截器介绍 下图是shiro拦截器的基础类图: 1.NameableFilter NameableFilter给Filter起个名字,如果没有设置,默认就是FilterName.比如之前的authc,当组装拦截器链的时候会根据这个名字找到相应的拦截器实例. 2.OncePerRequestFilter OncePerRequestFilter用于防止多次执行F…
原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 第十章 会话管理(一) 10.1 会话 shiro提供的会话可以用于JavaSE/JavaEE环境,不依赖于任何底层容器,可以独立使用,是完整的会话模块.即直接使用shiro的会话管理替换如web容器的会话管理. 获取会话及其相关信息的一些代码: login("classpath:shiro.ini", "zhang", "…
第二十一章. 扩展Python /* D:\Python27\Lib\Extest-1.0\Extest2.c */ #include <stdio.h> #include <stdlib.h> #include <string.h> #include "Python.h" int fac(int n) { if (n < 2) return(1); return (n)*fac(n-1); } static PyObject * Extest…
本文翻译自The Flask Mega-Tutorial Part XXI: User Notifications 这是Flask Mega-Tutorial系列的第二十一章,我将添加一个私有消息功能,它将在导航栏中显示用户通知,而且无需刷新页面就可以自动更新. 在本章中,我想继续致力于改进Microblog应用程序的用户体验. 有一个广泛应用的功能是向用户显示警报或通知. 社交应用通常会通过在顶部导航栏中显示带有数字的小徽章显示这些通知来让你知道有新的提及(@)或私有消息. 虽然这是最明显的用…
目录贴:跟我学Shiro目录贴 在一些场景中,比如某个领导因为一些原因不能进行登录网站进行一些操作,他想把他网站上的工作委托给他的秘书,但是他不想把帐号/密码告诉他秘书,只是想把工作委托给他:此时和我们可以使用Shiro的RunAs功能,即允许一个用户假装为另一个用户(如果他们允许)的身份进行访问. 本章代码基于<第十六章 综合实例>,请先了解相关数据模型及基本流程后再学习本章. 表及数据SQL 请运行shiro-example-chapter21/sql/ shiro-schema.sql…
命名空间和程序集 引用其他程序集 mscorlib库 命名空间 命名空间名称命名空间的补充命名空间跨文件伸展嵌套命名空间 using 指令 using命名空间指令using别名指令程序集的结构 程序集标识符强命名程序集 创建强命名程序集 程序集的私有方式部署共享程序集和GAC 把程序集安装到GACGAC内的并肩执行 配置文件延迟签名 命名空间和程序集 引用其他程序集 在第1章中,我们在高层次上观察了编译过程.编译器接受源代码文件并生称名称为程序集的输出文件.这一章中,我们将详细阐述程序集以及它们…
第二十一章 Ajax与Comet 一.XMLHttpRequest对象 1.XHT的用法 在使用XHR对象时,要调用的第一个方法时open( ),它接受3个参数:要发送的请求的类型.请求的URL和表示是否异步发送请求的布尔值.下面是调用这个方法的例子: xhr.open( “get” , ”example.php” , false ) ; 这段代码会启动一个针对example.php的GET请求.有两点需要注意:一是URL相对于执行代码的当前页面:二是调用open( )方法并不会真正发送请求,而…
第二十一章 Django的分页与cookie 第一课 模板 1.模板的继承 在Template目录下新建模板master.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>{% block title %}{% endblock %}</title> <link rel="styl…
昨天晚上只顾着和女朋友看<匆匆那年>电视剧的最后几集,所以说好的Android文档<Gradle 插件用户指南>第五章自然也没翻译多少.所以今天也发不了第五章的翻译了,就发几个星期前译好的<Gradle 1.12用户指南>的第二十一章吧. 在博客上发的其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://github.com/m…
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多线程第二十一章:同步代码块产生死锁的例子 下一章 "全栈2019"Java多线程第二十二章:饥饿线程(Starvation)详解 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回…
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异常第二十一章:finally不被执行的情况 下一章 "全栈2019"Java异常第二十二章:try-with-resources语句详解 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorh…
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第二十一章:流程控制语句中的决策语句if 下一章 "全栈2019"Java第二十二章:控制流程语句中的决策语句if-else 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复&q…
第二十一章 数组 一等对象 对象数组和基元数组在使用上是完全相同的.唯一的不同之处就是对象数组存储的是对象的引用,而基元数组则直接存储基本数据类型的值. 多维数组 Array.deepToString() 方法,这将多维数组转换成 String 类型. 泛型数组 可以参数化数组本身的类型. Arrays的fill方法 Arrays 类包括一个普通的 fill() 方法,该方法将单个值复制到整个数组. Arrays的setAll方法 使用一个生成器并生成不同的值,可以选择基于数组的索引元素. 增量…
原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第二十一章:环境光遮蔽(AMBIENT OCCLUSION) 学习目标 熟悉环境光遮蔽的基本思路,以及通过光线跟踪的实现方法: 学习如何在屏幕坐标系下实现实时模拟的环境光遮蔽. 1 通过光线追踪实现的环境光遮蔽 其中一种估算点P遮蔽的方法是光线跟踪.我们随机跟踪点P半圆内的光线,然后查看和网格相交的光线.如果跟踪了N条光线,相交了h条,那么点P的遮蔽值为: 只有交点q…
转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线教程的编写,以及yarn的翻译整理表示感谢. NeHe OpenGL第二十一课:线的游戏 线,反走样,计时,正投影和简单的声音: 这是我第一个大的教程,它将包括线,反走样,计时,正投影和简单的声音.希望这一课中的东西能让每个人感到高兴.   欢迎来到第21课,在这一课里,你将学会直线,反走样,正投影…
在一些场景中,比如某个领导因为一些原因不能进行登录网站进行一些操作,他想把他网站上的工作委托给他的秘书,但是他不想把帐号/密码告诉他秘书,只是想把工作委托给他:此时和我们可以使用Shiro的RunAs功能,即允许一个用户假装为另一个用户(如果他们允许)的身份进行访问. 本章代码基于<第十六章 综合实例>,请先了解相关数据模型及基本流程后再学习本章. 表及数据SQL 请运行shiro-example-chapter21/sql/ shiro-schema.sql 表结构 请运行shiro-exa…
本文翻译自The Flask Mega-Tutorial Part XXIII: Application Programming Interfaces (APIs) 我为此应用程序构建的所有功能都只适用于特定类型的客户端:Web浏览器. 但其他类型的客户端呢? 例如,如果我想构建Android或iOS APP,有两种主流方法可以解决这个问题. 最简单的解决方案是构建一个简单的APP,仅使用一个Web视图组件并用Microblog网站填充整个屏幕,但相比在设备的Web浏览器中打开网站,这种方案几乎…
转载请标明出处: http://blog.csdn.net/forezp/article/details/71024024 本文出自方志朋的博客 springboot对JMS提供了很好的支持,对其做了起步依赖. 构架工程 创建一个springboot工程,在其pom文件加入: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mai…