在 UNIX 上有效
authxapi_RegisterExitFunction 函数为特定事件注册 exit 函数。 尽管可以在任何阶段执行注册,但应在程序启动和关闭期间对其进行处理。
如果函数成功,则返回 0。 如果失败,则设置全局变量 errno,并返回以下错误代码之一:
返回值 |
ERRNO |
含义 |
---|---|---|
AUTHXAPI_E_OCCUPIED |
EEXIST |
事件已注册。 |
AUTHXAPI_E_NOEVENT |
EINVAL |
事件代码无效。 |
int authxapi_RegisterExitFunction (int event, PFSeosExitFunc user_func);
将您的退出 API 函数注册到的事件的代码。 仅在链接到密码实用程序时才提供密码事件。 仅在链接到 seosd 后台进程时才提供常规系统事件。
有效的 event 值如下:
登录前事件‑
登录后事件‑
常规资源前事件‑
常规资源后事件‑
TCP/IP 请求前事件‑
TCP/IP 请求后事件‑
密码质量检查前事件‑
密码质量检查后事件‑
密码更改前事件‑
密码更改后事件‑
指向在指定事件发生时 CA ControlMinder 应调用的用户函数的指针。
示例:注册用户的 Exit 函数。
此示例说明如何使用 authxapi_RegisterExitFunction 函数拒绝用户 jsmith 的所有登录尝试。
/* 拒绝用户“jsmith”的所有登录尝试的示例函数 */ int MyExitFunc(void *exit_data, SEOS_EXITRES *res) { SEOS_EXITLOGIN *login_data; login_data = (SEOS_EXITLOGIN *)exit_data; if (login_data‑>szUname != NULL) { if (strcmp(login_data‑>szUname, “jsmith”)) return 0; res‑>result = SEOS_EXITR_DENY; } return 0; } /* 扩展初始化时 Access Control 查找的 */ /* 函数。 */ int sample_RegisterExit(void) { return authxapi_RegisterExitFunction(AUTHXAPI_EV_PRELOGIN, MyExitFunc); }
版权所有 © 2013 CA。
保留所有权利。
|
|