本バージョンの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とパスワードから、ログインを許可するかどうかを判定します。許可する場合は、ユーザ名などのユーザ情報と、そのユーザが所属するグループ情報を出力パラメタに設定して復帰してください。
本関数呼び出し時に設定されるLOGIN_INDATAの構造体のアドレスが設定されています。
本関数復帰時に指定するLOGIN_OUTDATAの構造体のアドレスが設定されています。
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構造体の内容を以下に示します。
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グループまでです。