什么是CAS CAS是Central Authentication Service的缩写,中央认证服务,一种独立开放指令协议.CAS 是 耶鲁大学(Yale University)发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目. 简单来说,就是开源的企业级单点登录(SSO)服务. CAS Server 搭建思路 CAS 官方提供了一种使用 Apereo CAS WAR Overlay Template…
本文目标 基于SpringBoot + Maven 分别使用自动配置与手动配置过滤器方式实现CAS客户端登出及单点登出. 本文基于<CAS学习笔记三:SpringBoot自动/手动配置方式集成CAS单点登录>的代码扩充而来,完整代码见 https://github.com/hellxz/cas-integration-demo CAS服务端配置 单点登出跟随 service 给出的跳转地址重定向功能 在 CAS 服务端默认是关闭的,所以需要先开启它. vim webapps/cas/WEB-I…
系列链接: Java web与web gis学习笔记(一)--Tomcat环境搭建 Java web与web gis学习笔记(二)--百度地图API调用 JavaWeb和WebGIS学习笔记(三)--GeoServer 发布shp数据地图 写在前面:在产品开发测试过程中,出于为了安全.费用等方面考虑,有时都会搭建本地的测试环境.但是本地搭建服务环境也有许多弊端,譬如难以通过实现跨域或者跨网络访问等.当然,通过端口映射.内网穿透等方法可以实现公网访问本地资源,但如果有条件,还是建议直接上云.云服务…
由于公司项目需要,需要学习Aurora协议,才有了这样的连载学习笔记,也算是对自己学习的一份记录吧. 对于Aurora是什么,大家自行百度. 当然,Kevin也在此先提醒大家,本套学习笔记不是你想学就能学的哦,毕竟Aurora还是属于FPGA的一种高速协议了. 如果你还是FPGA小白,建议你还是踏踏实实的看Kevin的SDRAM视频教程吧,别没学会走就想着跑了. SDRAM视频相关资料链接在博客的微课堂页面:FPGA微课堂 好了,不多说,直接步入正题. 这套连载学习笔记,以 ISE 14.7 为…
背景 由于公司项目甲方众多,各甲方为了统一登录用户体系实现单点登录(SSO)开始要求各乙方项目对接其搭建的CAS单点登录服务,有段时间对CAS的流程很迷,各厂商还有基于CAS进行二次开发的情况,所以对它的官方文档进行了一定的学习,记录下来帮助有需要的同学. 由于CAS的验签协议较多,此处将仅使用 验签 略过其子流程,感兴趣的可以查看官方文档进行系统学习. 术语 此处将不介绍验签相关的术语,约等于CAS1 CAS (Central Authentication Service) - 中央认证服务器…
一旦CAS SERVER验证成功后,我们就会跳转到客户端中去.跳转到客户端去后,大家想一想,客户端总要获取用户信息吧,不然客户端是怎么知道登录的是哪个用户.那么客户端要怎么获取用户信息呢? 其实验证成功,跳转客户端这个过程中,CAS SERVER 会返回登录的相关信息给客户端,客户端只要进行获取,就能知道登录的具体是哪个用户了.不过CAS 默认只返回用户账号给客户端,那么怎么定义CAS SERVER返回的信息呢? 这就是本篇具体讲解的内容了,大家听我慢慢道来. 相关接口            …
本文目标 基于SpringBoot + Maven 分别使用自动配置与手动配置过滤器方式集成CAS客户端. 需要提前搭建 CAS 服务端,参考 https://www.cnblogs.com/hellxz/p/15740935.html 代码已上传本人 GitHub https://github.com/hellxz/cas-integration-demo 代码目录结构 代码实现 父工程 cas-integration-demo pom.xml <project xmlns="http:…
1. 数据映射 当我们获取到 ResultSet 之后,显然这个不是我们想要的数据结构. 数据库中的每一个表,在 Java 代码中,一定会有一个类与之对应,例如: package com.gerrard.entity; import com.gerrard.annotation.ColumnAnnotation; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data…
一.场景与层的关系: cocos2dx的框架可以说主要由导演,场景,层,精灵来构成: 1.其中导演,意如其名,就是操控整个游戏的一个单例,管理着整个游戏. 2.场景就像电影的一幕剧情,所以说,懂得如何划分好游戏的场景,是开始动手做游戏的第一步. 3.一个场景会有很多层,用来处理场景不同的功能. 4.而精灵则是最小的单位,比如子弹,飞机,敌机都是一个个的精灵所组成的. 二.WelcomeScene的搭建: 1.场景和层的二种搭建方法: (1)一种就是跟HelloWorld示例一样的方法,以一个层为…
一.文件创建~ Enemy.h Enemy.cpp 二.How to do? 由于我是已经完成成个游戏的功能,所以我会将游戏中enemy所需要的很多功能基本上都先考虑到了,如果大家自己在做的时候也许没办法一下子想到,那没事,待想到的时候,需要的时候再来添加这个功能就可以了,然后这里就主要实现一些功能,代码贴出来的时候直接写实现过程,记得在.h那里声明下哈. (1)创建Enemy的方法~ int _life; //这是基本属性,生命值,记得初始化为0哦~~ Sprite* _sprite; //这…
一.创建文件~ MainMenuScene.h   MainMenuScene.cpp   MainMenuLayer.h   MainMenuLayer.cpp 那个场景的搭建就不多说了,那个我的打飞机还有别踩白块的学习笔记里有~ 二.How to do? 1.initBackground(),创建背景~ (1)在init中先获得屏幕的大小,还有加入图片进入缓存 visibleSize = Director::getInstance()->getVisibleSize(); origin =…
接着之前写的V-rep学习笔记:机器人模型创建2—添加关节继续机器人创建流程.如果已经添加好关节,那么就可以进入流程的最后一步:搭建层次结构模型和模型定义(build the model hierarchy and finish the model definition).但是想要进行动力学仿真(碰撞.接触.自由落体...)的话,还需要进行额外的一些操作: Building the dynamic shapes VREP中几何体的属性可以分为: dynamic or static: 具有动态属性…
一.概述 1.1 什么是SolrCloud Lucene是一个Java语言编写的利用倒排原理实现的文本检索类库: Solr是以Lucene为基础实现的文本检索应用服务.Solr部署方式有单机方式.多机Master-Slaver方式.Cloud方式. SolrCloud(solr 云)是Solr提供的分布式搜索方案.当索引量很大,搜索请求并发很高,一个单一的系统无法满足磁盘需求,查询速度缓慢,此时就需要SolrCloud.在分布式索引中,原来的大索引,将会分成多个小索引,solr可以将这些小索引返…
Django 环境搭建 一. 版本选择 Django 1.5.x 支持 Python 2.6.5 Python 2.7, Python 3.2 和 3.3. Django 1.6.x 支持 Python 2.6.X, 2.7.X, 3.2.X 和 3.3.X Django 1.7.x 支持 Python 2.7, 3.2, 3.3, 和 3.4 (注意:Python 2.6 不支持了) Django 1.8.x 支持 Python 2.7, 3.2, 3.3, 3.4 和 3.5.  (长期支持…
近期做单点登录,看了一些CAS资料,做下总结 一.cas简介 全名:Central Authentication Service 特点: 1.开源的.多协议的 SSO 解决方案: Protocols : Custom Protocol . CAS . OAuth . OpenID . RESTful API . SAML1.1 . SAML2.0 等. 2.支持多种认证机制: Active Directory . JAAS . JDBC . LDAP . X.509 Certificates 等…
一.配置文件介绍 关于spring的配置信息只需放入WEB-INF/spring-configuration目录即可,cas启动时会自动加载.这个目录下的spring配置文件几乎不需要改动. 在web.xml中配置 在WEB-INF/spring-configuration中 1./WEB-INF/spring-configuration/applicationContext.xml这个配置文件是cas的核心类配置,你不需要改动. 2./WEB-INF/spring-configuration/…
CAS 的登出包含两种情况,一种是CAS客户端登出,另一种是CAS单点登出,使用流程图说明这两者的不同.(一图胜千言) 总结自官方文档 CAS客户端登出流程 如图,客户端的登出仅仅是过期当前用户与客户端之间的会话,并未过期用户浏览器与CAS服务端建立的会话(没有处理TGC),此时如果用户再访问客户端的接口,无需输入账号密码立即登录成功. 全局单点登出流程 如图,用户访问CAS服务端单点登出接口(由客户端提供),CAS服务端根据请求携带的TGC,不仅过期了服务内TGT与ST,还向该TGC对应的客户…
显而易见的,之前的02_toDoList存在着一个很致命的缺陷.那就是它的数据只存在于浏览器端,一但用户关闭或重新载入页面,他之前加入到程序中的数据就会全部丢失,一切又恢复到程序的初始状态.要想解决这个问题,就需要 Web 应用的前端在适当的时间将获得的输入数据存储到后端服务器上,然后在需要时再从服务器上获取这些数据.这部分笔记将记录如何利用 Vue.js 框架来完成 Web 应用程序的前端与后端之间的交互.这一次,我同样会通过构建一个"留言本"应用来贯穿整个学习过程. 首先需要在co…
HTTPS服务器优化SSL证书链合并HTTP/HTTPS主机基于名字的HTTPS主机带有多个主机名的SSL证书主机名指示兼容性 配置HTTPS主机,必须在server配置块中打开SSL协议,还需要指定服务器端证书和密钥文件的位置: server { listen 443; server_name www.example.com; ssl on; ssl_certificate www.example.com.crt; ssl_certificate_key www.example.com.key…
对于使用过程中并发.通过实现更轻量级线程. 每个线程都是一个独立的逻辑流. 主题是CPU在执行调度的最小独立单位,这个过程是资源分配单元.当然,这是在微内核操作系统说.总之,这是唯一的一个操作系统内核提供了最重要的OS服务,许多人看点击打开链接 每一个线程有它自己的线程上下文.包含一个唯一的线程ID(linux上实现为unsigned long),栈,栈指针.程序计数器.通用目的寄存器和条件码,还有自己的信号掩码和优先级.同一个进程里的线程共享这个进程的整个虚拟地址空间,包含可运行的程序文本.程…
/******************************************************************************************** * author:conowen@大钟                                                                                                                           * E-mail:conow…
第一种首先基于角色的权限控制 1.由于不断的创建SecurityFactory工程等步骤重复多次,所以应该将这些步骤封装成一个工具类 还是首先看一下目录结构 主要用到文件 首先贴一下工具类的方法 package com.zuoyan.utils; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authc.AuthenticationException; import org.apache.shiro.authc.Us…
Redis服务器负责与多个客户端建立网络通信,处理客户端发送的命令请求,在数据库中保存客户端执行命令所产生的数据,并通过资源管理来维持服务器自身的运转. 命令请求过程 以set命令为例 1.客户端向服务器发送命令请求 SET KEY VALUE. Redis服务器的命令请求来自于Redis客户端,当用户从客户端键入一个命令请求时,客户端会将这个命令命令请求请求转换成协议格式,然后通过连接到服务器的套接字,将协议格式的命令请求发送给服务器. 2.服务器接收并处理客户端发送来的命令请求 SET KE…
#使用如下命令将本地pc和手机连接起来 adb shell monkey --port 1080 adb forward tcp 1080:tcp 1080 telnet localhost 1080 #pc和手机连接起来后,可以通过Monkey服务器命令对手机进行操控…
结构: socket是应用层和传输层的桥梁.(传输层之上的协议所涉及的数据都是在本机处理的,并没进入网络中) 涉及数据: socket所涉及的数据是报文,是明文. 作用: 建立长久链接,供网络上的两个进程通信. 下面是Tcp服务端的代码: var net = require('net');//模块引入 var listenPort = 8080;//监听端口 // 创建socket服务端,下面是对客户端的处理 var server = net.createServer(function(sock…
前言 本文内容来自IdentityServer4官网,官网有详细的介绍,并且有源码Demo 官网源码例子传送门 建立授权服务端 我们暂时不配置Https,选择空模板建立项目,项目建立后, 为了查看debug信息,我们使用控制台来启动,打开launchSettings.json,删除红色部分,其实也可以不删,选择运行按钮后的倒三角来选择也是可以的 好了,操作OK后,我们运行一下看看,端口监听OK,如果这一步失败的,看看端口是否被占用了,或者修改下端口 安装IdentityServer4 在项目上右…
文章目录 部署(单节点) 一.前期准备 二.对部署环境进行规划 创建数据库 调整公共配置文件 应用部署前期准备 部署服务 部署 Web 应用 部署定时任务 一. 工程结构 第三方支付系统架构 pay-common-parent 项目的 Maven 父配置工程 pay-common 公共工程,所有项目均可引用 pay-common-config 公共配置工程 pay-common-core 公共核心工程,service 工程共用 pay-common-web 公共 web 工程,web 工程共用…
序列 dp 引入:最大子段和 给定一个数列 \(a_1, a_2, \cdots, a_n\)(可能为负),求 \(\max\limits_{1\le l\le r\le n}\left\{\sum_{i=l}^ra_i\right\}\). 这是一个经典的 动态规划 问题:设 \(f_{i}\) 为以 \(a_i\) 结尾的最大子段和,设 \(g_{i}\) 为前 \(i\) 个数的最大子段和.那么显然有: \[\begin{cases} f_i = \max(f_{i-1} + a_i, 0…
win7&Ubuntu双系统简单搭建系统指南 本文是自己老本子折腾Ubuntu的一些记录,主要是搭建了一个能够足够娱乐(不玩游戏)专注练习自己编程能力的内容.只是简单的写了关于系统的安装和一些配置环境的简单搭建.并没有深入探讨系统地各项内容.希望可以给香简单使用的同学参考. 一.准备工作 打开UltraISO ,依次点击"文件"--"打开"--选择Ubuntu14.04系统镜像文件,确认打开后就能在软件界面内看到整个镜像的全部文件信息. 接下来开始制作系统安…