Vagi单点登录1.0
Vagi是一款基于CAS(CAS v4)的Web应用单点登录系统.(cas
web https://github.com/Jasig/cas)
- 对数据库用户存储支持
- 加入登录验证码
- 新浪微博和QQ互联的支持
- 历史登录日志
- 记住登录username
- 记住登录
基于CAS v4.0.2
project地址:https://github.com/shimingxy/Vagi
登录界面

部署
CREATE TABLE `userinfo` (
`ID` varchar(45) NOT NULL,
`USERNAME` varchar(100) NOT NULL,
`PASSWORD` varchar(200) NOT NULL,
`DISPLAYNAME` varchar(45) DEFAULT NULL,
`BADPASSWORDCOUNT` smallint(5) unsigned DEFAULT '0',
`BADPASSWORDTIME` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`PASSWORDLASTSETTIME` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '??',
`UNLOCKTIME` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`ISLOCKED` tinyint(3) unsigned DEFAULT NULL,
`LASTLOGINTIME` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '?? ',
`LASTLOGOFFTIME` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '??',
`LOGINCOUNT` int(10) unsigned DEFAULT '0',
`LASTLOGINIP` varchar(45) DEFAULT NULL,
`STATUS` tinyint(3) unsigned DEFAULT '1',
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='?';
登录日志表
CREATE TABLE `login_history` ( `ID` varchar(45) NOT NULL COMMENT '主键',
`USERNAME` varchar(200) NOT NULL COMMENT '登录名',
`DISPLAYNAME` varchar(45) DEFAULT NULL COMMENT '姓名',
`MESSAGE` varchar(200) DEFAULT NULL COMMENT '消息',
`SOURCEIP` varchar(45) DEFAULT NULL COMMENT '操作IP',
`LOGINTIME` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '认证时间',
`LOGINTYPE` varchar(45) DEFAULT NULL COMMENT '类型',
`UID` varchar(45) NOT NULL COMMENT '用户ID',
`CODE` varchar(45) DEFAULT NULL COMMENT '编码',
`PROVIDER` varchar(45) DEFAULT NULL COMMENT '第三方',
`SESSIONID` varchar(45) DEFAULT NULL COMMENT '会话',
`BROWSER` varchar(45) DEFAULT NULL COMMENT '浏览器版本号',
`PLATFORM` varchar(45) DEFAULT NULL COMMENT '平台',
`APPLICATION` varchar(45) DEFAULT NULL COMMENT '应用程序',
`LOGINURL` varchar(450) DEFAULT NULL COMMENT '登录URL',
`LOGOUTTIME` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '登出时间',
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='登录日志表';
第三方登录表
CREATE TABLE `socialsignon_users_token` (
`ID` varchar(45) NOT NULL,
`UID` varchar(45) NOT NULL COMMENT '用户id',
`PROVIDER` varchar(45) NOT NULL COMMENT '第三方提供商',
`SOCIALUSERINFO` text NOT NULL COMMENT '''第三方应用的用户信息''',
`SOCIALUID` varchar(100) NOT NULL COMMENT '''第三方应用的用户id''',
`EXATTRIBUTE` text,
`ACCESSTOKEN` text,
`CREATEDDATE` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`UPDATEDDATE` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`USERNAME` varchar(45) NOT NULL,
PRIMARY KEY (`ID`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户和第三方认证提供商的绑定关系';
2、安装TomCat 7.x,配置JDK 7,port号配置为80
tomcat/conf/server.xml
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
3、vagiproject部署到TomCat
vagi连接数据库配置/vagi/WEB-INF/cas.properties
############################################################################
# DataBase configuration
############################################################################
# JDBC Driver
# for MySql com.mysql.jdbc.Driver
# for oracle oracle.jdbc.driver.OracleDriver
# for DB2 com.ibm.db2.jdbc.app.DB2Driver
# for SqlServer com.microsoft.jdbc.sqlserver.SQLServerDriver
# for SyBase com.sybase.jdbc.SybDriver
# for PostgreSQL org.postgresql.Driver
config.datasource.driverclass=com.mysql.jdbc.Driver
# JDBC URL
# you need database hostname,port,databasename
# for MySql jdbc:mysql://hostname:port/databasename
# for oracle jdbc:oracle:thin:@hostname:port:databasename
# for DB2 jdbc:db2://hostname:port/databasename
# for SqlServer jdbc:microsoft:sqlserver://hostname:port;DatabaseName=databasename
# for SyBase jdbc:sybase:Tds:hostname:port/databasename
#
config.datasource.url=jdbc:mysql://localhost/vagi?autoReconnect=true&characterEncoding=UTF-8
config.datasource.username=root
#connsec
config.datasource.password=connsec
以上參数请依据实际情况配置
4、微博、QQ登录互联配置
配置/vagi/WEB-INF/cas.properties
############################################################################
# Social Sign On Configuration #
#you config client.id & client.secret only
############################################################################ ############################################################################
#sina weibo
config.socialsignon.sinaweibo.provider=sinaweibo
config.socialsignon.sinaweibo.provider.name=\u65B0\u6D6A\u5FAE\u535A
config.socialsignon.sinaweibo.icon=images/social/sinaweibo.png
config.socialsignon.sinaweibo.client.id=1396991563
config.socialsignon.sinaweibo.client.secret=0e2175bf497817466b0b7d0eefb10f57
config.socialsignon.sinaweibo.authorize.url=https://api.weibo.com/oauth2/authorize?client_id=%s&redirect_uri=%s&response_type=code
config.socialsignon.sinaweibo.accesstoken.url=https://api.weibo.com/oauth2/access_token
config.socialsignon.sinaweibo.accesstoken.method=POST
config.socialsignon.sinaweibo.scope=all
config.socialsignon.sinaweibo.verifier.code=code
config.socialsignon.sinaweibo.account.url=https://api.weibo.com/2/users/show.json
config.socialsignon.sinaweibo.account.id=id
config.socialsignon.sinaweibo.sortorder=1 #QQ
config.socialsignon.qq.provider=qq
config.socialsignon.qq.provider.name=QQ
config.socialsignon.qq.icon=images/social/qq.png
config.socialsignon.qq.client.id=101225363
config.socialsignon.qq.client.secret=8577d75e0eb4a91ac549cc8be3371bfd
config.socialsignon.qq.authorize.url=https://graph.qq.com/oauth2.0/authorize? client_id=%s&redirect_uri=%s&response_type=code
config.socialsignon.qq.accesstoken.url=https://graph.qq.com/oauth2.0/token
config.socialsignon.qq.accesstoken.method=POST
config.socialsignon.qq.scope=read
config.socialsignon.qq.verifier.code=code
config.socialsignon.qq.account.url=https://graph.qq.com/oauth2.0/me
config.socialsignon.qq.account.id=openid
config.socialsignon.qq.sortorder=2
微博配置
config.socialsignon.sinaweibo.client.id=
config.socialsignon.sinaweibo.client.secret=
QQ配置
config.socialsignon.qq.client.id=
config.socialsignon.qq.client.secret=
5、配置hosts
127.0.0.1 sso.connsec.com
6、訪问
http://sso.connsec.com/vagi
License
& Copyright
Apache License, Version 2.0.
Vagi单点登录1.0的更多相关文章
- jcifs windows 域账户单点登录(转)
1.首先从http://jcifs.samba.org 这个站点下载 jcifs-1.3.2.jar包. 2.把这个包放到相应的lib文件下面. 3.对web.xml文件进行配置,添加如下内容 < ...
- .net core 1.0 实现负载多服务器单点登录
前言 .net core 出来有一时间了,这段时间也一直在做技术准备,目前想做一个单点登录(SSO)系统,在这之前用.net时我用习惯了machineKey ,也顺手在.net core 中尝试了一上 ...
- 实战:ADFS3.0单点登录系列-总览
本系列将以一个实际项目为背景,介绍如何使用ADFS3.0实现SSO.其中包括SharePoint,MVC,Exchange等应用程序的SSO集成. 整个系列将会由如下几个部分构成: 实战:ADFS3. ...
- .NET Core2.0+MVC 用session,cookie实现的sso单点登录
博主刚接触.NET Core2.0,想做一个单点登录的demo,所以参考了一些资料,这里给上链接: 1.http://www.cnblogs.com/baibaomen/p/sso-sequence- ...
- .NET Core2.0+MVC 用Redis/Memory+cookie实现的sso单点登录
之前发布过使用session+cookie实现的单点登录,博主个人用的很不舒服,为什么呢,博主自己测试的时候,通过修改host的方法,在本机发布了三个站点,但是,经过测试,发现,三个站点使用的sess ...
- CAS 4.0 单点登录教程
CAS 单点登录指导文档 1.概述 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所 ...
- spring boot 2.0 集成 shiro 和 pac4j cas单点登录
新开的项目,果断使用 spring boot 最新版本 2.0.3 ,免得后期升级坑太多,前期把雷先排了. 由于对 shiro 比较熟,故使用 shiro 来做权限控制.同时已经存在了 cas ...
- IdentityServer4之SSO(基于OAuth2.0、OIDC)单点登录、登出
IdentityServer4之SSO(基于OAuth2.0.OIDC)单点登录.登出 准备 五个Web站点: 1.localhost:5000 : 认证服务器.2 ...
- Liferay7.0与cas单点登录配置
1.简介 Liferay7.0支持多种登录方式,包括:常规的.opensso.cas.ntlm.ldap.openid.Facebook.Google等. 其中, (1) 常规:则是默认Lif ...
随机推荐
- Express框架是什么
Express框架是什么 一.总结 1.express框架:基于node.js的web应用框架,可快速搭建一个完整功能的网站,丰富的HTTP工具以及来自Connect框架的中间件随取随用. 二.Exp ...
- 数据类型的提升(promotion)
假如参与运算的数据类型不同或者取值范围过小,编译器会自动将其转换为相同的类型,这个类型就叫数据类型的提升(promotion). 1. C++ 语言环境的规定 unsigned char a = 17 ...
- 福昕pdf阅读器如何删除所有注释
然后选中第一个 移动到最后按住shift,选择最后一个, 总之就是选中所有的 然后右键,点击删除即可. 不要忘记保存呦
- Oracle学习总结(9)—— Oracle 常用的基本操作
创建用户,相当于在sqlServer中创建一个数据库 create user 用户名 identified by 密码 修改用户密码 alter user 用户名 identified by 新 ...
- 8、for 、emumrate、range、if
1.for循环用户按照顺序循环可迭代对象中的内容,PS:break.continueli = [11,22,33,44]for item in li: print item 2.enumrate 为可 ...
- window.print()打印网页(一)
有时候需要将网页内容打印到纸上,最简单的一种方法是用window对象的print方法. window.print()默认打印当前网页的所有部分.(除了背景,默认打印都是白底黑字,如果有特别的设置 要另 ...
- 【z12】&&【b092】hankson的趣味问题
描述 Hanks 博士是 BT (Bio-Tech,生物技术) 领域的知名专家,他的儿子名叫 Hankson.现 在,刚刚放学回家的 Hankson 正在思考一个有趣的问题. 今天在课堂上,老师讲解了 ...
- ORACLE RMAN备份及还原 RMAN能够进行增量备份:数据库,表空间,数据文件
ORACLE RMAN备份及还原 RMAN能够进行增量备份:数据库.表空间.数据文件 仅仅有使用过的block能够被备份成backup set 表空间与数据文件相应关系:dba_data_file ...
- kafka集群原理介绍
目录 kafka集群原理介绍 (一)基础理论 二.配置文件 三.错误处理 kafka集群原理介绍 @(博客文章)[kafka|大数据] 本系统文章共三篇,分别为 1.kafka集群原理介绍了以下几个方 ...
- 11、DMA操作说明
先理解cache的作用CPU在访问内存时,首先判断所要访问的内容是否在Cache中,如果在,就称为“命中(hit)”,此时CPU直接从Cache中调用该内容:否则,就 称为“ 不命中”,CPU只好去内 ...