北京信城通数码科技有限公司
其中lib目录下的aspicas6c.dll是接口的动态库,其它是接口依赖的库文件
3.2.2 config说明 3.2.2.1 casserver.config
它的内容如下:
―――――――――――――――――――――――――――――――――――
CasServer.Host = tcp -h 0.0.0.0 -p 10001 CasServer.AppProperty.1 = test@test.com CasServer.AppProperty.2 = 12345678 CasServer.Region = 10 App.id = smtp App.pwd = 1234 User.name = user1 User.pwd = 5678
―――――――――――――――――――――――――――――――――――
它们的含义如下:
? CasServer.Host,指定casserver.exe监听的地址和端口号,格式为“tcp -h 地址 -p
端口号”,如果省略“-h 地址”,则在本地所有的地址上监听。
? CasServer.AppProperty.1,CasServer.AppProperty.2,指定CAS服务器返回的
应用属性,目前接口中未返回应用属性
? CasServer.Region,CAS服务器地区号,范围为1~255,用户的地区号必须和CAS
的地区号一致。 ? App.id,应用的id ? App.pwd,应用的口令
CAS6.0认证服务器-接口使用手册-V2.0 第 21 页 共 35 页
北京信城通数码科技有限公司
? User.name,用户的id ? User.pwd, 用户的口令
3.2.2.2 casclient.config
它的内容如下:
―――――――――――――――――――――――――――――――――――
Ice.RetryIntervals = 0 100 Ice.ACM.Client =30
Ice.Override.ConnectTimeout =30 CasClient.Appid = smtp CasClient.Pwd = 1234
CasClient.HostPort = 10.98.157.205:10001 CasClient.UserRegion = 10
#CasClient.GetProperty.1 = mailbox #CAsClient.GetProperty.2 = mailboxpwd
―――――――――――――――――――――――――――――――――――
它们的含义如下:
? Ice.RetryIntervals,代理无法连接服务时的重试间隔,0 100表示失败时立即重试,
再次失败时过100(毫秒)再次重试
? Ice.ACM.Client,用户连接停止活动一段时间(秒)后断开 ? Ice.Override.ConnectTimeout,客户端连接超时时间(秒) ? CasClient.Appid,应用id ? CasClient.Pwd, 应用口令
? CasClinet.HostPort,CAS服务器地址和端口,用冒号分隔地址和端口,可设置多
个CAS服务器,用逗号分隔每个服务器地址,如:
10.98.157.205:10000,10.98.157.206:10001
? CasClient.UserRegion,用户地区号,应与所连接的CAS服务器地区号相同 ? CasClient.GetProperty.1,CasClient.GetProperty.2,客户端希望获取的属性名
3.2.3 配置环境
把lib目录下的库文件拷贝到ld.so.conf的搜索路径下。
CAS6.0认证服务器-接口使用手册-V2.0 第 22 页 共 35 页
北京信城通数码科技有限公司
把include目录加入头文件搜索路径或把头文件拷贝到已加入搜索路径的头文件目录中。
3.3 C接口说明 3.3.1 创建代理
方面 原型 返回值 参数 说明 int CAS_C_proxyNew(const char * c_filename); 成功(>=0):本次会话的代理,保留使用 失败(<0):错误码 c_filename:客户端配置文件名,可为相对和绝对路径 3.3.2 注销代理
方面 原型 返回值 参数 说明 int CAS_C_proxyDestroy(); 成功(=0): 失败(<0):错误码 无 3.3.3 证书用户登录
方面 原型 说明 int CAS_C_userCertLogin(const CAS_C_CertData c_cd, char * c_token, int tokenLen); 成功(>=0):成功,返回令牌字符串。 失败(<0):错误码 c_cd:用户证书数据结构,见头文件中CAS_C_CertData结构定义 参数 c_token:令牌缓冲区指针 tokenLen:令牌缓冲区的大小,目前令牌大小不超过2K字节 说明: 1. c_token为调用者分配的内存空间,由tokenLen指定空间大小,包含字符串的结束符’\\0’。 2. 当tokenLen小于要返回的令牌长度时,返回错误码
返回值 CAS6.0认证服务器-接口使用手册-V2.0 第 23 页 共 35 页
北京信城通数码科技有限公司
3.3.4 证书用户登出
方面 原型 返回值 参数 说明 int CAS_C_userCertLogout(const char * c_token); 成功(>=0):成功 失败(<0):错误码 c_token:令牌缓冲区指针 3.3.5 口令用户登录
方面 原型 说明 int CAS_C_userPwdLogin(const char * c_uname, const char * c_pwd, char * c_token, int tokenLen); 成功(>=0):成功,返回令牌字符串。 失败(<0):错误码 c_uname:用户名 参数 c_pwd:用户口令 c_token:令牌缓冲区 tokenLen:令牌缓冲区的大小,目前令牌大小不超过2K字节 说明:c_token和tokenLen说明同1.3节 返回值 3.3.6 口令用户登出
方面 原型 返回值 参数 说明 int CAS_C_userPwdLogout(const char * c_token); 成功(>=0):成功 失败(<0):错误码 c_token:令牌缓冲区 3.3.7 用户令牌校验
方面 原型 说明 int CAS_C_tokenCheck(const char * c_oldToken, char * c_newToken, int newTokenLen); 成功(>=0):成功,返回新的令牌字符串。 失败(<0):错误码 返回值 CAS6.0认证服务器-接口使用手册-V2.0 第 24 页 共 35 页
北京信城通数码科技有限公司
c_oldToken:旧的用户令牌指针 参数 c_newToken:新的令牌缓冲区 newTokenLen:新的令牌缓冲区的大小,目前令牌大小不超过2K字节 说明:c_newToken和newTokenLen说明同1.3节
3.3.8 用户令牌校验并取用户属性(接口1)
方面 说明 int CAS_C_tokenCheckGetProperty(const char * c_oldToken, 原型 const int propNum, const char * c_pNameLst[], char * c_pValueLst[]); 返回值 成功(>=0):成功,返回用户的属性,其中 失败(<0):错误码 c_oldToken:旧的用户令牌指针 propNum:用户属性个数 c_pNameLst:用户属性名列表,无先后顺序,返回的属性值顺序与之 相对应。其中cas.token为必备属性。 目前支持的属性名为: 参数 cas.token token.id token.region cas.cert-sn cas.cert-dn cas.cert-eid c_pValueLst:用户属性值列表 3.3.9 用户令牌校验并取用户属性(接口2)
方面 说明 int CAS_C_tokenCheckGetPropertyP(const char * c_oldToken, 原型 const int propNum, const char ** c_pNameLst, char ** c_pValueLst); 返回值 成功(>=0):成功,返回新的令牌字符串。 失败(<0):错误码 CAS6.0认证服务器-接口使用手册-V2.0 第 25 页 共 35 页