ページの先頭行へ戻る
Interstage Navigator ServerV9.5.0 セットアップガイド Vol.1(Enterprise Edition用)
FUJITSU Software

F.1.1 ユーザ認証(KVRCK_authenticate)

機能

ユーザ名とパスワード文字列から、そのユーザがNavigatorを使用可能か判定し、同時にそのユーザに関する情報を返却します。

書式

int KVRCK_authenticate(const char *username, const char *passwd, int *uid, char *uname, char *ucomment, int *gid, char *gname, char *reserve1, char *reserve2);

パラメタ

const char *
const char *
int *
char *
char *
int *
char *
char *
char *

username
passwd

uid

uname

ucomment

gid

gname

reserve1

reserve2

(in)
(in)
(out)
(out)
(out)
(out)
(out)
(未定)
(未定)

ユーザ名
パスワード文字列
ユーザID
ユーザ名
ユーザ注釈
グループID
グループ名
予約域(現在未使用)
予約域(現在未使用)

戻り値

KVRCK_RET_NORMAL
KVRCK_RET_FAILED
KVRCK_RET_EXPIRED
KVRCK_RET_OTHER

ユーザはNavigatorを利用可能
認証に失敗した
パスワードが期限切れ
その他のエラーが発生した

説明

本関数は正しいユーザ名username、およびパスワードpasswdが指定された場合には、戻り値としてKVRCK_RET_NORMAL を返します。KVRCK_RET_NORMALを返した場合、uidunameucommentgidgname にユーザ情報を返却します。KVRCK_RET_NORMAL以外の戻り値の場合、これらのフィールドには何も返却されません。

定量制限

備考

使用例

===================================================================================
/* 変数宣言 */
int ret;
char username[KVRCK_MAXLEN_USERNAME + 1];
char passwd[KVRCK_MAXLEN_PASSWD + 1];
int uid;
char uname[KVRCK_MAXLEN_USERNAME + 1];
char ucomment[KVRCK_MAXLEN_UCOMMENT + 1];
int gid;
char gname[KVRCK_MAXLEN_GROUPNAME + 1];
char *reserve1;
char *reserve2;

/* ユーザ名パスワードを設定 */
strcpy(username, "navi");
strcpy(passwd, "password");

/* 認証関数呼び出し */
ret = KVRCK_authenticate(username, passwd, &uid, uname, ucomment, &gid, gname, reserve1, reserve2);
switch (ret)
{
    case KVRCK_RET_NORMAL: /* ユーザはNavigatorを利用可能 */
    printf("Login OK\n");
    printf("uid=%d, uname=%s, ucomment=%s, gid=%d, gname=%s\n", uid, uname, ucomment, gid, gname);
    break;
    case KVRCK_RET_FAILED: /* 認証に失敗した */
    printf("Login failed.\n");
    break;
    case KVRCK_RET_EXPIRED: /* 期限切れ */
    printf("Password is expired.\n");
    break;
  case KVRCK_RET_OTHER: /* その他のエラーが発生した */
    printf("Login error!\n");
    exit(1);
}
===================================================================================