Vagi是一款基于CAS(CAS v4)的Web应用单点登录系统.(cas
web https://github.com/Jasig/cas)

  • 对数据库用户存储支持
  • 加入登录验证码
  • 新浪微博和QQ互联的支持
  • 历史登录日志
  • 记住登录username
  • 记住登录

基于CAS v4.0.2

project地址:https://github.com/shimingxy/Vagi

群434469201

登录界面

部署

1、安装Mysql 5.6,创建vagi schema ,把Vagi_mysql.sql导入到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的更多相关文章

  1. jcifs windows 域账户单点登录(转)

    1.首先从http://jcifs.samba.org 这个站点下载 jcifs-1.3.2.jar包. 2.把这个包放到相应的lib文件下面. 3.对web.xml文件进行配置,添加如下内容 < ...

  2. .net core 1.0 实现负载多服务器单点登录

    前言 .net core 出来有一时间了,这段时间也一直在做技术准备,目前想做一个单点登录(SSO)系统,在这之前用.net时我用习惯了machineKey ,也顺手在.net core 中尝试了一上 ...

  3. 实战:ADFS3.0单点登录系列-总览

    本系列将以一个实际项目为背景,介绍如何使用ADFS3.0实现SSO.其中包括SharePoint,MVC,Exchange等应用程序的SSO集成. 整个系列将会由如下几个部分构成: 实战:ADFS3. ...

  4. .NET Core2.0+MVC 用session,cookie实现的sso单点登录

    博主刚接触.NET Core2.0,想做一个单点登录的demo,所以参考了一些资料,这里给上链接: 1.http://www.cnblogs.com/baibaomen/p/sso-sequence- ...

  5. .NET Core2.0+MVC 用Redis/Memory+cookie实现的sso单点登录

    之前发布过使用session+cookie实现的单点登录,博主个人用的很不舒服,为什么呢,博主自己测试的时候,通过修改host的方法,在本机发布了三个站点,但是,经过测试,发现,三个站点使用的sess ...

  6. CAS 4.0 单点登录教程

    CAS 单点登录指导文档 1.概述 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所 ...

  7. spring boot 2.0 集成 shiro 和 pac4j cas单点登录

    新开的项目,果断使用  spring boot  最新版本  2.0.3 ,免得后期升级坑太多,前期把雷先排了. 由于对 shiro 比较熟,故使用 shiro 来做权限控制.同时已经存在了 cas  ...

  8. IdentityServer4之SSO(基于OAuth2.0、OIDC)单点登录、登出

    IdentityServer4之SSO(基于OAuth2.0.OIDC)单点登录.登出 准备  五个Web站点: 1.localhost:5000 :                  认证服务器.2 ...

  9. Liferay7.0与cas单点登录配置

    1.简介     Liferay7.0支持多种登录方式,包括:常规的.opensso.cas.ntlm.ldap.openid.Facebook.Google等. 其中, (1) 常规:则是默认Lif ...

随机推荐

  1. cookie记住用户名密码

    <script src="js/jquery.cookie.js" type="text/javascript"></script> $ ...

  2. python 序列排序 排序后返回相应的索引

    https://blog.csdn.net/longwei92/article/details/83098289 https://blog.csdn.net/u013731339/article/de ...

  3. selenium 自动化基础知识(各种定位)

    元素的定位 webdriver 提供了一很多对象定位方法  例如: [ id ] , name , class name , link text , partial link text , tag n ...

  4. [appium]-9宫格解锁方法

    from appium.webdriver.common.touch_action import TouchAction TouchAction(self.driver).press(x=228,y= ...

  5. WebClient HttpWebRequest从网页中获取请求数据

    WebClient HttpWebRequest //HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(urlAddress) ...

  6. Codeforces Round #100 E. New Year Garland (第二类斯特林数+dp)

    题目链接: http://codeforces.com/problemset/problem/140/E 题意: 圣诞树上挂彩球,要求从上到下挂\(n\)层彩球.已知有\(m\)种颜色的球,球的数量不 ...

  7. python3 打印九九乘法表

    打印九九乘法表 # !/usr/bin/env python # -*- coding:utf-8 -*- # Author:Hiuhung Wan for i in range(1, 10): fo ...

  8. Jmeter--性能测试工具的搭建

    第一步:Jmeter软件下载第二步:解压下载的Jmeter包到某一盘符下,最好解压到无中文字符目录下,防止乱码问题,以我电脑为例,比如:D:tools第三步:找到解压的文件jmeter.bat,一般在 ...

  9. poj 2063 Investment ( zoj 2224 Investment ) 完全背包

    传送门: POJ:http://poj.org/problem?id=2063 ZOJ:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problem ...

  10. Bootstrap相关优质项目必备网址

    1:文档全集:这里收集了Bootstrap从V1.0.0版本到现在,整个文档的历史.Bootstrap本身就是一个传奇,而这些文档就是传奇的见证! 官方网址:http://docs.bootcss.c ...