在 Windows 上有效
UserDefinedPrefix_RegisterExit 函数为一些事件注册 exit 函数。 在启动期间处理 seosd 服务和 pwdchange.dll 中的注册。
如果函数成功,则返回 0。 其他数字表示失败;将继续正常执行,就像未调用任何回调函数一样。
注意:在调用此函数之前,由 seosd 服务和 pwdchange.dll 从注册表中读取 UserDefinedPrefix。
declspec(dllexport) int __stdcall UserDefinedPrefix_RegisterExit(PFNEXIT pFunctionsExit[], unsigned long* pEventsType).
其中,PFNEXIT 定义为指向将 void 作为参数接收并返回 int 的函数的指针。
int UserDefinedFunction(void* data, SEOS_EXITRES * pExitResult);
将在 seosd 服务和 pwdchange.dll 中注册的一系列用户定义的函数。
与 pFunctionsExit 参数相同条目中的函数对应的一系列事件类型。
有效的事件类型为:
示例
注册用户的 exit 函数。
/* 注册将在 CA ControlMinder 密码验证之前调用的 用户定义函数的示例。 (用户已在注册表中配置前缀 PWD) */ typedef int(*PFNEXIT)(void); declspec(dllexport) int __stdcall PWD_RegisterExit(PFNEXIT pFunctionExit[],unsigned long* pEventTypes) { pFunctionExit[0] = (PFNEXIT)MyExitFunc; pEventTypes[0] = AUTHXAPI_EV_PREVERPWD; return 0; }
本部分介绍退出 API 函数用于在函数与 CA ControlMinder 后台进程/服务之间来回传递信息的数据结构。 所用结构取决于 exit 函数拦截的事件。
以下内容介绍这些数据结构的每个字段:
指向函数的指针
登录事件的数据结构
常规资源检查事件的数据结构
TCP/IP 请求事件的数据结构(仅 UNIX)
密码质量检查和密码更改事件的数据结构
在任何事件之后返回给 CA ControlMinder 的结果的数据结构
数据库中对象的定义的数据结构(仅 UNIX)
数据库中属性的定义的数据结构(仅 UNIX)
封装 SEOS_ACCS 类型的单个成员
保留访问标志列表
包含类标识描述符(仅 UNIX)
包含对象标识描述符(仅 UNIX)
包含属性标识描述符(仅 UNIX)
传递给与尝试的登录事件链接的 exit 函数的第一个参数是指向 SEOS_EXITLOGIN 结构的指针。 该结构包含有关尝试登录的信息。 可以在 authxapi.h 文件中找到 SEOS_EXITLOGIN 结构。
尝试登录的用户的用户 ID。
尝试登录的用户的名称。
用户尝试从其登录的终端的名称。 在 CA ControlMinder 启动时,设置为 NULL。
尝试登录的程序的设备号。
尝试登录的程序的 Inode 号。
尝试登录的程序的名称。 不适用时设置为 NULL。
传递给与尝试的常规资源检查事件链接的 exit 函数的第一个参数是指向 SEOS_EXITGENR 结构的指针。 该结构包含有关验证的用户和资源的信息。 可以在 authxapi.h 文件中找到 SEOS_EXITGENR 结构。
访问的常规资源类的名称。 仅检查明确决定要验证的类,并忽略其他类。
访问的资源的名称。
尝试访问的用户的 UNIX 或 Windows 用户 ID。 不适用时设置为 ‑1。
与尝试访问的用户相关联的 ACEE 句柄。 如果未在 CA ControlMinder 中定义用户,则为负值,否则为 0 或正值。
尝试访问的用户的名称。
尝试访问的程序的设备号。 不适用时设置为 0。
尝试访问的程序的 Inode 号。 不适用时设置为 0。
用户尝试从其访问的终端的名称。 如果用户不在本地终端上,这将设置为远程主机名。
表示所请求访问类型的不带符号的长整数。
尝试访问的程序的名称。 不适用时设置为 NULL。
版权所有 © 2013 CA。
保留所有权利。
|
|