统一身份认证系统单点登录接口说明
本文档以asp.net语言为例进行讲解。所有加入统一身份认证的子系统均需要添加一个验证模块,模块名:SSOAuth。该模块主要负责本系统的用户合法性验证工作(主要根据传递的统一身份认证令牌,验证令牌合法性,并获取登录的用户名或子系统绑定的用户名集合)
需要加入到统一身份认证平台的子系统都需要有一个名字唯一的英文编码作为自己的标识,验证模块地址(统一身份认证系统登录成功后,将直接跳转到该模块,并传递相应的令牌信息,该模块接收到令牌后,将验证令牌合法性)。
名称 | 值 |
子系统英文编码 | eyou |
域名 | mail.eyou.com |
验证模块地址 | http://mail.eyou.com/SSOAuth |
② 如果令牌无效则返回错误代码“103”,并跳转到统一身份认证系统登录页面
② 如果无效则返回错误代码“103”,并跳转到统一身份认证系统登录页面进行登录。


字段 | 说明 |
UserName | 统一身份认证用户名 |
RealName | 真实姓名 |
NickName | 昵称 |
IDCard | IDCard |
电子邮箱 | |
IsRealName | 是否真实姓名(1是0否) |
TelePhone | 电话 |
FamilyPhone | 家庭电话 |
OfficePhone | 办公室电话 |
Address | 地址 |
Sex | 性别 |
BirthDay | 出生年月 |
Title | 职称 |
Country | 城市 |
Unit | 单位 |
MSN | MSN |
UserType | 用户类型(教师、学生等) |
Org | 组织机构名称 |
OrgCode | 组织机构编号 |





字段 | 说明 |
FunctionCode | 模块缩写 |
Value | 值 |




英文编码 | 模块名称 |
UserManage
|
用户管理
|
RoleManage
|
角色管理
|
权限值 | 权限名称 |
2
|
查看
|
4
|
新增
|
8
|
修改
|
16
|
删除
|
如果某用户所在角色拥有上述四种操作权限,则其Permission=2+4+8+16=30。
下面进行权限检测,判断“(Role + Module)”所对应的Permission是否包含上述四种操作权限中的每一个。解决问题关键:使用“&”运算符。比如:
判断Permission是否包含“查看”的权限值,就用 if((Permission & 2) == 2)
判断Permission是否包含“新增”的权限值,就用 if((Permission & 4) == 4)
判断Permission是否包含“修改”的权限值,就用 if((Permission & 8) == 8)
判断Permission是否包含“删除”的权限值,就用 if((Permission & 16) == 16)
原理(转化为二进制,进行“与”运算):
30 & 2 = 00011110 & 00000010 = 00000010
30 & 4 = 00011110 & 00000100 = 00000100
30 & 8 = 00011110 & 00001000 = 00001000
30 & 16 = 00011110 & 00010000 = 00010000
/// 模块缩写
public string FunctionCode
/// 值
public int? Value
}