上一主题: 文件下一主题: 退出 API


SEOSROUTE_VerifyCreate 函数

SEOSROUTE_VerifyCreate 函数执行 CA ControlMinder 伪登录,并返回创建的 ACEE 句柄。‑

应用程序必须提供前六个参数;最后三个参数由 CA ControlMinder 返回,应用程序可使用这三个参数做出决定并向用户提供状态信息。

函数返回的不带符号的整数取以下值之一:

SEOSAPI_AUTH_OK

允许用户按请求访问资源。

SEOSAPI_AUTH_BADPASSWD_ERR

密码与预期密码不匹配。

SEOSAPI_AUTH_DENY

请求被拒绝。

SEOSAPI_AUTH_NORESPONSE_ERR

Seosd 没有响应。

SEOSAPI_AUTH_NOTROOT_ERR

调用进程的用户 ID 不是 0 (root),执行调用进程的用户没有 SERVER 属性。

SEOSAPI_AUTH_NOUSERID_ERR

未提供用户名。

SEOSAPI_AUTH_NULLACEE_ERR

phACEE 参数为 null 指针。

SEOSAPI_AUTH_REMOTE_ERR

CA ControlMinder 后台进程返回 szMsg 中描述的错误。

注意:

szUserId

为其创建 ACEE 的用户的名称。 必须提供该参数。

szPwd

szUserId 标识的用户的密码。 如果指定 NULL 指针,CA ControlMinder 将跳过密码检查。

szNewPwd

您的应用程序应在 CA ControlMinder 数据库中将用户密码更改为此新密码。 如果未指定新密码或为 szPwd 指定了 NULL 指针,请指定 NULL 指针。

bPwdChk

确定是否检查密码的标志。 您可以组合以下标志值(使用按位 OR):

VERCRE_CHECK_CUR

检查当前密码是否有效。

VERCRE_CHECK_NEW

在 UNIX 中,根据活动密码策略规则检查新密码是否有效。

VERCRE_CHECK_QUICKLOGIN

模拟登录而不检查时间限制。

szTerm

用户从其登录系统的终端名称。

LogOpt

确定是否必须制定审核日志条目的标志。 有效值为:

SEOSAPI_AUTH_LOGNONE

对于服务器应用程序,无论授权请求成功还是失败,都不创建审核记录(值 = 0)。

SEOSAPI_AUTH_LOG

如果数据库中的当前规则需要审核,则创建审核记录(值 = 1)。

SEOSAPI_AUTH_LOGALL

对于服务器应用程序,无论是什么数据库规则,始终创建审核记录(值 = 2)。

SEOSAPI_AUTH_LOGFAIL

对于服务器应用程序,仅当授权请求失败,并且数据库规则需要授权时,才创建审核记录(值 = 3)。

phACEE

由 CA ControlMinder 返回的 ACEE 句柄。 CA ControlMinder 在对当前验证的用户进行后续授权检查时使用此值。

pRes

指向包含授权结果的 API_AUTH_RES 结构的指针。

szMsg

指向 CA ControlMinder 在其中返回状态消息的 SEOSAPI_AUTH_MSGLEN 字节长缓冲区的指针。

SEOSROUTE_VerifyDelete 函数

SEOSROUTE_VerifyDelete 函数用于释放 ACEE。 使用该函数可以释放使用 SEOSROUTE_VerifyCreate 函数创建的 ACEE。 您的应用程序应释放不再需要的 ACEE,因为每个分配的句柄都使用系统资源和 CA ControlMinder 内部资源。 这些资源是有限的。

程序必须提供前两个参数;最后一个参数由 CA ControlMinder 返回,程序可使用这一个参数做出决定并向用户提供状态信息。

函数返回的整数取以下值之一:

SEOSAPI_AUTH_OK

释放 ACEE。

SEOSAPI_AUTH_NOACEE_ERR

未找到 ACEE 句柄。

SEOSAPI_AUTH_NORESPONSE_ERR

Seosd 没有响应。

SEOSAPI_AUTH_NOTROOT_ERR

调用进程的用户 ID 不是 0 (root),执行调用进程的用户没有 SERVER 属性。

SEOSAPI_AUTH_NULLACEE_ERR

phACEE 参数为 NULL 指针。

SEOSAPI_AUTH_REMOTE_ERR

CA ControlMinder 后台进程返回 szMsg 中描述的错误。

注意:要执行 SEOSROUTE_VerifyDelete 函数,调用进程必须具有有效用户 ID 0,或者与调用进程相关的用户必须具有 SERVER 属性。

int SEOSROUTE_VerifyDelete(int  *phACEE,
                           int  bLog,
                           char *szMsg)
phACEE

指向要释放的 ACEE 句柄的指针。

bLog

确定是否创建审核日志条目的标志。 它的值可以为 0 或 1。 要创建日志条目,请将 bLog 参数设置为 1。

szMsg

指向 CA ControlMinder 在其中返回状态消息的 SEOSAPI_AUTH_MSGLEN 字节长缓冲区的指针。

更多信息:

SEOSROUTE_VerifyCreate 函数

结构和数据类型

本部分介绍授权和身份验证 API 函数用于在函数以及 CA ControlMinder 后台进程(UNIX 中)和服务(Windows 中)之间来回传递信息的数据结构。 对每个数据结构的每个字段都进行了说明。

授权和身份验证 API 函数使用以下结构:

API_AUTH_RES

保留授权检查的结果。

SEOS_ACCESS

封装 SEOS_ACCS 类型的单个成员。

SEOS_ACCS

保留访问标志列表。

SEOS_OID

保留对象标识描述符。

API_AUTH_RES 结构

API_AUTH_RES 结构用于保留授权检查的结果。

int result

表示授权检查结果的代码。 有效值为:

int last_stage

信息写入结构中的授权阶段。 如果允许访问,但稍后由于某些原因导致授权失败,则此信息非常有用。

int grant_stage

做出允许或拒绝决定的授权阶段。

SEOS_ACCS accs

表示所请求访问类型的不带符号的长整数。

SEOS_OID oidRes

已检查授权的资源的对象 ID。

SEOS_OID oidGroup

如果正在检查累积组权限,且组允许或拒绝访问,此成员将存储检查的最后一个组的对象 ID。

如果未检查累积组权限,且组允许或拒绝访问,此成员将存储组的对象 ID。

更多信息:

SEOS_ACCS 结构

API_AZN_RES 结构

API_AZN_RES 结构用于保留授权检查的结果。

int result

表示授权检查结果的代码。 有效值为:

int last_stage

信息写入结构中的授权阶段。 如果允许访问,但稍后由于某些原因导致授权失败,则此信息非常有用。

int grant_stage

做出允许或拒绝决定的授权阶段。

SEOS_ACCS accs

表示所请求访问类型的不带符号的长整数。

SEOS_OID oidRes

已检查授权的资源的对象 ID。

SEOS_OID oidGroup

如果正在检查累积组权限,且组允许或拒绝访问,此成员将存储检查的最后一个组的对象 ID。

如果未检查累积组权限,且组允许或拒绝访问,此成员将存储组的对象 ID。

SEOSDB_CDF dfRespTab

表示数据库中记录的类定义的结构。

SEOSDB_PDF pdfRespTab

表示数据库中记录的属性定义的结构。

SEOSDB_ODF odfRespTab

表示数据库中记录的对象定义的结构。

更多信息:

SEOS_ACCS 结构

SEOS_ACCESS 结构

SEOS_ACCESS 结构用于封装 SEOS_ACCS 类型的单个成员。

SEOS_ACCS accs

表示所请求访问类型的不带符号的长整数。 为 SEOS_ACCS 结构提供了详细的可能值列表

SEOS_ACCS 结构

SEOS_ACCS 数据类型是表示所请求访问类型的不带符号的长整数。

当前为 API 定义的访问类型如下:

所有请求

SEOS_ACCS_ANY

允许所有请求。

SEOS_ACCS_AUTHORIZE

允许更改 ACL。

SEOS_ACCS_CREATE

允许在 FILE 类中创建新文件,以及在 ADMIN 类中创建新对象。

SEOS_ACCS_DELETE

允许删除(与 SEOS_ACCS_ERASE 相同)。

SEOS_ACCS_ERASE

允许删除。

SEOS_ACCS_EXEC

允许执行程序。

SEOS_ACCS_FILESCAN

允许扫描文件。

SEOS_ACCS_JOIN

允许向组中添加用户或从组中删除用户。

SEOS_ACCS_MODIFY

允许重命名。

SEOS_ACCS_NONE

不允许任何请求。

SEOS_ACCS_PASSWD

允许更改密码属性。

SEOS_ACCS_READ

允许读取访问。

SEOS_ACCS_RENAME

允许重命名文件。

SEOS_ACCS_WRITE

允许写入访问。

SEOS_ACCS_reserved

未使用。

仅限 UNIX 请求

SEOS_ACCS_CHOWN

允许更改所有权。

SEOS_ACCS_CHGRP

允许更改组设置。

SEOS_ACCS_CHMOD

允许更改文件模式。

SEOS_ACCS_UTIMES

允许更改文件的修改时间。

常规属性

SEOS_ACCS_SEC

允许更改文件的 ACL。

多个访问请求的宏

SEOS_ACCS_CHOG

CHOWN + CHGRP

SEOS_ACCS_UPDATE

READ + WRITE + EXEC

SEOS_ACCS_CONTROL

CHOG + CHMOD + UTIMES + SEC + UPDATE

注意:有关此字段可能的其他值,请参阅文件 ACDir/include/seostype.h。

SEOS_OID 数据类型

SEOS_OID 数据类型是表示数据库中记录的对象 ID 的不带符号的长整数。

数据库中的每个对象都有唯一的对象 ID。 如果知道对象 ID,就可以使用 seadmapi 检索对象信息。