ページの先頭行へ戻る
Interstage List Works V10.3.0 帳票印刷配信手引書
FUJITSU Software

H.1 List Works V10.1以前で作成したユーザ作成ライブラリの出口ルーチン

本バージョンのList Worksのユーザ認証に、List Works V10.1以前のユーザ作成ライブラリによる認証を利用する場合は、本章で説明する出口ルーチンを使用します。

注意

V10.1以前で作成したユーザ作成ライブラリを使用するには、印刷配信の動作環境定義ファイル(lwmctr.conf)で「system.usercreatedlib.version」に「1」を設定する必要があります。

印刷配信の動作環境定義ファイルの設定については、“3.9.5 印刷配信の環境設定”を参照してください。

出口ルーチンの機能概要、関数名、および出口ルーチンの準備時における注意事項は、本バージョンと同様です。

詳細については、“3.4.3 出口ルーチンの準備<ユーザ作成ライブラリによる認証の場合>”を参照してください。

List Works V10.1以前で作成したユーザ作成ライブラリで使用する出口ルーチンについて、以下に示します。


出口ルーチンのライブラリ名と格納場所は、以下のとおりです。

ライブラリ名

格納場所

lwlogin.dll ( 呼び出し規約 _cdecl )

Windowsのシステム環境変数の「Path」に指定されているフォルダ


出口ルーチンの関数定義、出口ルーチンで使用する構造体の形式を格納したヘッダファイルの格納場所は、以下のとおりです。

ファイル名

格納場所

lwlogin.h

List Worksのインストール先フォルダ\Samples

ログイン出口のインタフェース

ログイン出口(LW_LDAP_LoginExit 関数)は、配信管理サーバへのログイン時に呼び出されます。

LW_LDAP_LoginExit 関数のインタフェースを以下に示します。


記述形式
int LW_LDAP_LoginExit (LOGIN_INDATA *lpIndata,
                       LOGIN_OUTDATA *lpOutdata)

機能

ログイン時に呼び出されます。

出口ルーチンでは、入力パラメタとして渡されたログインのユーザIDとパスワードから、ログインを許可するかどうかを判定します。許可する場合は、ユーザ名などのユーザ情報と、そのユーザが所属するグループ情報を出力パラメタに設定して復帰してください。


パラメタの説明
lpIndata

本関数呼び出し時に設定されるLOGIN_INDATAの構造体のアドレスが設定されています。

lpOutdata

本関数復帰時に指定するLOGIN_OUTDATAの構造体のアドレスが設定されています。


LOGIN_INDATA構造体

LOGIN_INDATA構造体の内容を以下に示します。

typedef struct
{
    char   iUid[40];        /* ログインユーザID(有効文字数26 バイト) */
    char   iPasswd[16];     /* パスワード(有効文字数14 バイト) */
    int    iMaxReturnNo;    /* 返却可能最大グループ数 */
    char   iPassword[256];  /* パスワード(有効文字数256 バイト) */
} LOGIN_INDATA ;

LOGIN_INDATA構造体の各メンバの詳細については、“環境構築手引書”の“付録H List Works V10.1以前で作成したユーザ作成ライブラリで使用する出口ルーチン <Windows版のみ>”を参照してください。

LOGIN_OUTDATA構造体

LOGIN_OUTDATA構造体の内容を以下に示します。

typedef struct
{
    char   oUid[40];           /* ユーザID(有効文字数26 バイト) */
    char   oName[44];          /* ユーザ名(有効文字数40 バイト) */
    int    oAdmin;             /* 管理者権限 0:権限なし 1:権限あり */
    long   oAccessibility[4];  /* ユーザの業務権限 */
} LDAP_USER_INFO ;
typedef struct
{
    char   oGid[28];          /* グループID(有効文字数26 バイト) */
    char   oName[44];         /* グループ名(有効文字数40 バイト) */
    long   oAccessibility[4]; /* グループの業務権限 */
} LDAP_GROUP_INFO ;
typedef struct
{
    LDAP_USER_INFO    oUserInfo;     /* ユーザ情報 */
    int               oGroupNum;     /* 返却するグループ数(値を格納した数を設定する) */
    LDAP_GROUP_INFO  *oGroupInfo;    /* ユーザが所属するグループ情報 */
} LOGIN_OUTDATA ;

LOGIN_OUTDATA構造体の各メンバの詳細については、“環境構築手引書”の“付録H List Works V10.1以前で作成したユーザ作成ライブラリで使用する出口ルーチン <Windows版のみ>”を参照してください。

注意

帳票印刷配信機能では、業務権限は無視されます。

業務権限については、“環境構築手引書”の“2.3.3 出口ルーチンの準備 <ユーザ作成ライブラリによる認証の場合>”を参照してください。

復帰値

0:正常終了(ログインを許可する)

-1:異常終了

1:指定されたユーザIDは存在しない。

2:指定されたユーザIDのパスワードの有効期限が切れている。

3:指定されたユーザIDが複数登録されている。

4:パスワードに誤りがある。

5:所属グループ数がiMaxReturnNoを超えている。


補足

ユーザの所属グループが「返却可能最大グループ数(構造体LOGIN_INDATAのメンバiMaxReturnNo)」を超えるときは、復帰値に「5(所属グループ数がiMaxReturnNoを超えている)」を設定し、「返却するグループ数(構造体LOGIN_OUTDATAのメンバoGroupNum)」に所属グループ数を設定して復帰してください。この場合は、設定された所属グループ数分の返却領域を獲得しなおして、再度、本ログイン出口モジュールを呼び出します。なお、ユーザの所属できるグループ数の最大値は256グループまでです。