ログイン処理装置、ログイン処理方法及びプログラム
【課題】基幹業務システム等の外部システムの構成を変更することなく、かつ外部システムのユーザ情報を利用してログイン処理を行う機能をもつアプリケーションを提供する。
【解決手段】アプリケーション内で権限の組み合わせを定義した権限グループ定義121と、ローカルユーザ情報を登録するユーザ情報122と、外部システム等との接続や認証を定義した接続・認証方法情報123と、ユーザ情報の権限に関する項目を権限グループとマッピングするための権限変換情報124から構成され、ログイン処理部111は、クライアントPCがUI100のログイン画面処理部112と、基幹業務システム130、ユーザ情報取得部113と、認証処理部114と、取得したユーザ情報をローカルサーバ内部の形式に変換するユーザ情報変換処理部115と、外部のユーザ情報をユーザ情報122に反映するユーザ情報更新処理部116と、から構成される。
【解決手段】アプリケーション内で権限の組み合わせを定義した権限グループ定義121と、ローカルユーザ情報を登録するユーザ情報122と、外部システム等との接続や認証を定義した接続・認証方法情報123と、ユーザ情報の権限に関する項目を権限グループとマッピングするための権限変換情報124から構成され、ログイン処理部111は、クライアントPCがUI100のログイン画面処理部112と、基幹業務システム130、ユーザ情報取得部113と、認証処理部114と、取得したユーザ情報をローカルサーバ内部の形式に変換するユーザ情報変換処理部115と、外部のユーザ情報をユーザ情報122に反映するユーザ情報更新処理部116と、から構成される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ログイン処理技術に関し、特に、外部システムのユーザ情報を利用可能なログイン機能を持つアプリケーションに関する。
【背景技術】
【0002】
近年の情報に関するセキュリティ意識の高まりに伴い、機密情報を取り扱うようなアプリケーションソフトウェアはログイン機能を備えるものが極めて一般的になっている。このようなアプリケーションは、通常、アプリケーション内部に、リソースへのアクセス権限情報を含むユーザ情報を保持する。
【0003】
ユーザ情報及び権限情報を内部に持つ一般的なアプリケーションでは、ユーザID、ログイン認証用のパスワード、ユーザ名、権限情報、ユーザ固有のアプリケーション設定情報、をデータとして内部に持ち、ユーザIDとパスワード等の認証によってログイン処理を行い、アプリケーションの機能を権限の範囲内で利用する。
【0004】
様々なアプリケーションを組み合わせて利用するシステムでは、個々のアプリケーション毎にユーザを管理しようとすると、管理が煩雑になり運用コストも増大する。このような問題を解決する手段の1つに、ユーザ情報の管理を一元化する方式がある。このような方式の1つを開示する技術文献として、下記特許文献1が挙げられる。この特許文献1に記載の発明は、既存のWebサーバにおけるシステム構成を変更することなく、独立した認証手段を有する複数のWebサーバに対するシングルサインオンを可能とする認証統括システムを提供するものである。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−350866号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、上記特許文献1に記載されているようなシステムでは、導入時にユーザ情報・権限情報を統合あるいは再設定する必要がある。企業等が既に基幹業務システムなどで独自のユーザ情報を一元管理している場合に、当該企業に追加でアプリケーションシステムを導入するケースを想定してみると、シングルサインオンシステムを導入する場合に、導入に伴いユーザ情報を再設定する必要がある。
【0007】
ところが、既に安定稼動している基幹業務システムのユーザ管理・ログイン認証処理を、周辺のアプリケーション導入のためだけにシングルサインオンや統合認証基盤へと移行する作業を行うことは、コストの面から考えて現実的でない。そこで、このような場面にアプリケーションを追加で導入する場合、基幹業務システム等の外部システムの構成を一切変更することなく、かつ、外部システムのユーザ情報を利用してログイン処理(ユーザの認証およびアプリケーションの利用可能機能に関する権限設定)を行うことを可能とすることが重要となる。
【0008】
本発明の目的は、基幹業務システム等の外部システムの構成を一切変更することなく、かつ、外部システムのユーザ情報を利用してログイン処理(ユーザの認証およびアプリケーションの利用可能機能に関する権限設定)を行う機能をもつアプリケーションを提供することにある。
【課題を解決するための手段】
【0009】
本発明の一観点によれば、ログイン処理装置と、前記ログイン処理装置と接続されるアプリケーションデータベースと、を含むサーバ装置であって、前記アプリケーションデータベースは、前記サーバ装置のアプリケーション内での利用権限の組み合わせを、ユーザ端末を特定するユーザIDと、前記ログイン装置においては、ユーザ毎に使える機能、アクセスできるリソースに対して一定の権限をセットで付与する権限グループとして定義した権限グループ情報を登録する権限グループ情報データベースと、前記サーバ装置と接続され、ユーザ管理情報を保持し前記サーバ装置とは独立したユーザ管理を行っている外部システムから取得したユーザ管理情報を前記サーバ装置で利用できる形に変換したユーザ情報を登録するユーザ情報データベースと、外部システムとの接続方法・認証方法を定義した接続・認証方法情報データベースと、外部システムから取得したユーザ管理情報のうち権限に関する項目を前記権限グループとマッピングするための権限変換情報を有し、前記ログイン処理装置は、ユーザ端末(PC)のログイン画面表示を制御するログイン画面処理部と、前記接続・認証方法情報に基づいて前記外部システムから前記ユーザ管理情報を取得するユーザ情報取得部と、取得した前記ユーザ管理情報を前記サーバ装置内部のユーザ管理情報の形式に変換するユーザ情報変換処理部と、を有することを特徴とするサーバ装置が提供される。
【0010】
前記ユーザ情報は、少なくとも、前記ユーザ情報が登録されている登録元システムを特定する登録元IDと、前記権限グループと、を有し、前記登録元IDと前記ユーザIDとの組み合わせによって1つのユーザ情報が一意に特定される情報であり、前記ユーザ情報変換処理部は、登録元の前記ユーザ管理情報から取得した登録元権限情報を、前記権限変換情報を用いて前記サーバ装置の権限グループに変換する権限情報変換処理を実行することが好ましい。前記ユーザ情報変換処理部は、前記権限変換情報において、前記登録元IDが前記ユーザの登録元IDと一致し、かつ、前記登録元権限情報が取得した取得データ項目の権限と一致するレコードの権限グループを、前記ユーザ情報の権限グループを更新するため情報として更新前に取得するようにしても良い。ここでは更新は行われない。
【0011】
前記ユーザ情報変換処理部は、ユーザの有効/無効チェックでは、前記接続・認証方法情報から該当する登録元IDの有効確認方法を取得し、その方法に基づいてユーザの有効/無効チェックを行うようにしても良い。また、前記有効/無効チェックに失敗した場合は、その旨のメッセージをメッセージダイアログに表示し、ログイン画面表示処理を開始するようにしても良い。前記有効/無効チェックに成功した場合は、前記登録元ID、前記登録元から取得した前記ユーザIDと前記変換した権限グループ、有効/無効チェックの結果に基づいてユーザ情報の更新を行うユーザ情報更新処理部を有することが好ましい。前記ユーザ情報変換処理の前処理として、ユーザ認証を行う認証処理部を有することが好ましい。
【0012】
さらに、ローカルユーザを作成するアプリケーション固有処理部と、前記ローカルユーザの作成・更新・削除を含むメンテナンス処理を行うローカルユーザメンテナンス処理部と、を有することが好ましい。前記ユーザ情報変換処理部は、ユーザがローカルユーザであるか否かの判定を最初に行うようにするのが好ましい。この処理を最初に行うのは、ユーザがローカルユーザであれば、これ以降の処理でユーザ情報を変換・更新する必要がないためである。
【0013】
前記ログイン処理部は、前記ユーザ端末のログイン画面表示を制御するログイン画面処理部を有し、ユーザによって入力された、ユーザID(103)、パスワード(104)、ドロップダウンリストで選択された登録元(105)名に対応する登録元IDの情報を取得し、取得したユーザIDが空白でなければ、ログイン画面処理を終了し、ユーザから入力されたユーザID、パスワード、および、登録元IDを次のユーザ情報取得処理部に引継ぎ、ログイン画面処理を正常終了することが好ましい。前記外部システムが複数の場合に、前記ログイン画面表示において、ログイン画面の登録元に登録元IDに対応する登録元システム名をドロップダウンリストの項目として設定し、ログイン画面を表示させることが好ましい。
【0014】
さらに、ユーザ認証を行う認証処理部を有し、ユーザから入力されたパスワード、登録元ID、および登録元から取得した取得データ項目の全てを前処理であるユーザ情報取得部から引き継いでおり、前記認証処理部は、入力されたパスワードと、登録元から取得したパスワードとに基づいて、ユーザ認証を行うことが好ましい。さらに、前記ユーザ情報は、そのユーザが現在有効か否かを表すフラグを有していることが好ましい。
本発明は、上記に記載のサーバ装置と、ユーザPCと、外部システムと、を有するログインシステムであっても良い。
【0015】
本発明の他の観点によれば、ログイン処理装置と、前記ログイン処理装置と接続されるアプリケーションデータベースと、を含むであって、前記アプリケーションデータベースは、前記サーバ装置のアプリケーション内での利用権限の組み合わせを、ユーザ端末を特定するユーザIDと、前記ログイン装置においては、ユーザ毎に使える機能、アクセスできるリソースに対して一定の権限をセットで付与する権限グループとして定義した権限グループ情報を登録する権限グループ情報データベースと、前記サーバ装置と接続され、ユーザ管理情報を保持し前記サーバ装置とは独立したユーザ管理を行っている外部システムから取得したユーザ管理情報を前記サーバ装置で利用できる形に変換したユーザ情報を登録するユーザ情報データベースと、外部システムとの接続方法・認証方法を定義した接続・認証方法情報データベースと、外部システムから取得したユーザ管理情報のうち権限に関する項目を前記権限グループとマッピングするための権限変換情報を有するサーバ装置におけるログイン方法であって、ユーザ端末(PC)のログイン画面表示からの入力と、前記接続・認証方法情報と、に基づいて、前記外部システムから前記ユーザ管理情報を取得するユーザ情報取得ステップと、取得した前記ユーザ管理情報を前記サーバ装置内部のユーザ管理情報の形式に変換するユーザ情報変換処理ステップと、を有することを特徴とするログイン方法が提供される。
【0016】
前記ユーザ情報は、少なくとも、前記ユーザ情報が登録されている登録元システムを特定する登録元IDと、前記権限グループと、を有し、前記登録元IDと前記ユーザIDとの組み合わせによって1つのユーザ情報が一意に特定される情報であり、前記ユーザ情報変換処理ステップは、登録元の前記ユーザ管理情報から取得した登録元権限情報を、前記権限変換情報を用いて前記サーバ装置の権限グループに変換する権限情報変換処理を実行するステップを有することが好ましい。前記ユーザ情報変換処理ステップは、前記権限変換情報において、前記登録元IDが前記ユーザの登録元IDと一致し、かつ、前記登録元権限情報が取得した取得データ項目の権限と一致するレコードの権限グループを、前記ユーザ情報の権限グループを更新するため情報として更新前に取得するステップを有することが好ましい。
本発明は、コンピュータに、上記のいずれか1項に記載の方法を実行させるためのプログラムであっても良い。
【発明の効果】
【0017】
本発明の外部システムのユーザ情報を利用可能なログイン機能を持つアプリケーションによれば、次のような効果がある。
基幹業務システム等の外部システムの構成を一切変更することなく、かつ外部システムのユーザ情報を利用してログイン処理(ユーザの認証およびアプリケーションの利用可能機能に関する権限設定)を行う機能をもつアプリケーションを提供することができる。
【図面の簡単な説明】
【0018】
【図1】本発明の一実施の形態によるログイン処理プログラムを含むアプリケーションの一構成例を示す図である。
【図2】権限グループ情報を示すデータ構成例を示す図である。
【図3】ユーザ情報を示すデータ構成例を示す図である。
【図4】第1の基幹業務システムAのユーザ管理情報のデータ構成例を示す図である。
【図5】第2の基幹情報系システムBのユーザ管理情報のデータ構成例を示す図である。
【図6】ユーザ情報の登録元システムへの接続・認証方法情報のデータ構成例を示す図である。
【図7】権限変換情報のデータ構成例を示す図である。
【図8】ログイン画面の表示や画面からの入力データにおける処理(ログイン画面処理部)の流れを示すフローチャート図である。
【図9】登録元IDに対応した外部システムのユーザ情報やローカルユーザ情報から、ログインに必要なユーザ情報を取得する処理(ユーザ情報取得処理部の処理)を示すフローチャート図である。
【図10】ユーザから入力されたパスワードと、登録元から取得したパスワードなどの情報からユーザ認証と、を行う処理(認証処理部の処理)を示すフローチャート図である。
【図11】取得したユーザ情報を内部のユーザ情報の形式に変換する(ユーザ情報変換処理部の処理)を示すフローチャート図である。
【図12】アプリケーションのユーザ情報を外部から取得したユーザ情報で更新する処理(ユーザ情報更新処理部の処理)を示すフローチャート図である。
【図13】本アプリケーションのログイン部分で用いる表示メッセージ例を示す、メッセージ一覧である。
【発明を実施するための形態】
【0019】
以下、本発明を適用した外部システムのユーザ情報を利用可能なログイン機能を持つシステム(以下、「本システム」と呼ぶ。)の一実施の形態について説明する。
【0020】
図1は、本発明の一実施の形態によるログイン機能を含む本システムの一構成例を示す図である。本実施の形態によるシステムにおいては、外部システムのユーザ情報を利用可能なログイン機能(ログイン処理部111)を持つアプリケーションプログラム(以下、「本アプリケーション」と呼ぶ。)は、ユーザからのログイン情報の入力を受け取るログイン画面(101)やメッセージを表示するダイアログ(102)を含み、処理部(100b)と通信インターフェイス(107)を備えたユーザインタフェース(100)と、CPUと通信インターフェイス(119)を備え、ログイン処理部(111)やローカルユーザメンテナンス処理部(118)、及び、その他のアプリケーション固有処理部(117)とを含むサーバ側プログラム110と、利用する情報を格納したアプリケーションデータ(120)と、で構成される。サーバ側プログラム110は、ローカルサーバ152のCPUにおいて実行される。ローカルサーバ152は、クライアントPCがUIによりアクセスする企業のサーバなどである。ユーザ・インタフェース(UI)(100)は、例えば、処理部(100b)を備えたクライアントPC151(端末)のUIである。また、クライアントPC151とローカルサーバ152は、それぞれ通信インターフェイス(107)と通信インターフェイス(119)を介して通信を行う。
【0021】
本アプリケーションのローカルサーバ152は、ユーザ情報を利用する目的で、企業内又は企業外のサーバとは異なる外部システム(外部サーバ)である、基幹業務システムA(130)および基幹情報系システムB(140)とネットワークNT経由で接続されている。
【0022】
基幹業務システムAは、ユーザ管理情報(DB)A(131)を保持し、基幹情報系システムBはユーザ管理情報(DB)B(141)を保持し、基幹業務システムAと基幹情報系システムBとは、それぞれ本アプリケーションとは独立したユーザ管理を行っている。本アプリケーションのローカルサーバでは、外部のユーザ管理情報(DB)Aやユーザ管理情報(DB)Bからユーザ情報を取得するが、外部のユーザ管理情報A・Bの内容を変更することは一切しないようになっている。
【0023】
尚、本アプリケーションのローカルサーバと基幹業務システムAおよび基幹情報系システムBとの間には、HTTPSなどのセキュリティを確保した適切な通信手段でNT接続されている。
【0024】
クライアントPC151のUI(100)において、ログイン画面(101)は、ユーザIDの入力欄(103)と、パスワードの入力欄(104)と、ユーザの登録元情報入力欄(105)と、ログインを実行するログインボタン(106)と、を有して構成されている。
【0025】
ローカルサーバ内のアプリケーションデータ120は、本アプリケーション内での利用権限の組み合わせを権限グループとして定義した権限グループ定義(121)と、ローカルユーザ情報を登録するためあるいは外部から取得したユーザ情報を本アプリケーションで利用できる形に変換して登録するためのユーザ情報(122)と、外部システム等との接続方法や認証方法を定義した接続・認証方法情報(123)と、外部から取得したユーザ情報のうち権限に関する項目を本アプリケーションの権限グループとマッピングするための権限変換情報(124)から構成される。
【0026】
ログイン処理部(111)は、クライアントPCがUI(100)のログイン画面表示を制御するログイン画面処理部(112)と、基幹業務システム(外部システム)(130)・(140)、本ローカルサーバ内部からユーザ情報を取得するユーザ情報取得部(113)と、ユーザ認証を行う認証処理部(114)と、取得したユーザ情報をローカルサーバ内部のユーザ情報(122)の形式に変換するユーザ情報変換処理部(115)と、外部のユーザ情報を内部のユーザ情報(122)に反映するユーザ情報更新処理部(116)と、から構成される。
【0027】
本システムは、外部のユーザ情報も利用可能だが、アプリケーション固有処理部(117)においてローカルユーザを作成することもでき、そのローカルユーザの作成・更新・削除などのメンテナンス処理はローカルユーザメンテナンス処理部(118)で行うことができる。
【0028】
図2は、ローカルサーバ内の本アプリケーションで利用する権限グループ定義(121)に定義されている情報の内容の例を示すデータ構成図である。本アプリケーションにおいては、ユーザ毎に使える機能やアクセスできるリソースに対して一定の権限をセットで付与することができるように構成されている。各権限(22)(権限1、権限2、…)には、アプリケーションで利用できる機能やアクセス可能なリソースなどが入る。例えば、データベースの操作を行うアプリケーションを考えると、個々の権限として、テーブルの参照操作、テーブルの更新操作、テーブルの削除操作、テーブルの追加操作、ユーザの管理、などといった機能や、あるいはアクセス可能なリソースとしての個々のテーブルが定義される。そしてそれら個々の権限の有無の組み合わせを権限グループ(21)として定義する。
【0029】
図2中の○印は、権限を有することを表し、×印は権限を有さないことを表す。尚、ローカルサーバの本アプリケーションを用いるユーザに対して権限グループを付与することにより、ユーザが利用できる機能やリソースが決定されるものとする。
【0030】
権限グループ情報は、本アプリケーション導入時に利用形態に応じて予め設定しておき、その後に、利用形態の変更等に伴って必要であれば適宜変更することができる。
【0031】
例えば、権限グループ21が“A”の場合には、権限1から5まで全ての権限を有しており、フルアクセスが可能なことを示しており、権限グループ21が“B”の場合には、権限1から3まで権限のみを有しており、例えば、本アプリケーションへのフルアクセスが可能なことを示しており、権限グループ21が“C”の場合には、権限1、2のみを有しており、例えば、本アプリケーションのデータを参照のみが可能なことを示しており、権限グループ21が“D”の場合には、権限1のみの最小の権限を有してことを示している。
【0032】
図3は、ローカルサーバの本アプリケーションで利用されるユーザ情報(122)のデータ構成例を示す図である。1行に1つのユーザ情報が記述されており、それぞれのユーザ情報は、登録元ID(31)、ユーザID(32)、ユーザ名(33)、パスワード(34)、権限グループ(35)、アプリケーション固有情報(36)、有効フラグ(37)、を有している。登録元ID(31)とユーザID(32)との組み合わせによって1つのユーザ情報が一意に特定される。登録元ID(31)とは、ユーザ情報が登録されている登録元システムを特定するIDであり、本実施の形態では、登録元IDが“001”の場合は、本アプリケーション用のローカルサーバ自身にユーザ登録されていることを示している。このようなユーザをローカルユーザと呼び、ローカルユーザ以外を外部ユーザと呼ぶ。登録元ID(31)が“002”である場合は、外部の基幹業務システムAに登録されているユーザ情報を表し、また、“003”の場合は、外部の基幹情報系システムBに登録されているユーザ情報を表す。尚、本実施の形態では、本アプリケーションをローカルユーザと外部ユーザとの両方で利用できるようにしているが、外部ユーザの利用のみに適用することも可能である。この場合には、図3で、登録元ID“001”の行が存在しない。また、登録元ID(31)は、3つに限定されるものでもなく、外部の基幹情報系システム数の増減に応じて適宜、変更されるものである。
【0033】
ユーザID(32)は、各登録元でユーザを一意に特定するIDである。ユーザ名(33)は、ユーザの名称を表す。パスワード(34)は、ユーザがローカルユーザの場合にパスワード認証を行うために設定する。権限グループ(35)には、図2で定義した権限グループ(21)と同じグループが設定される。アプリケーション固有情報(36)とは、ユーザがそのアプリケーションの中で自由に設定保存できる情報のことであり、例えば、データベースの操作を行うアプリケーションであれば、ユーザが保存した検索条件登録、よく使う機能の登録、画面のレイアウト情報、画面のデザイン、ユーザ固有の設定などが挙げられる。
【0034】
有効フラグ(37)とは、そのユーザが現在有効か否かを表すフラグであり、1であれば有効、0であれば無効であることを示す。有効フラグが1の場合は、そのユーザは本アプリケーションにログインしてアプリケーションを利用することができる。有効フラグが0の場合は、ユーザ情報は保持するが、アプリケーションを利用することができない。本実施の形態で、ユーザ情報に有効フラグを持たせることによって、例えば一時的にあるユーザのフラグが無効になって利用できなくなったとしても、その後にそのユーザを再度有効に設定すれば、前述のアプリケーション固有情報を引き続き利用できるため、運用上便利である。
【0035】
ユーザ情報の追加や更新(あるいは削除)は、ローカルユーザであれば図1(118)のローカルユーザメンテナンス処理部が行い、外部ユーザであれば図1(116)のユーザ情報更新処理部が行う。また、ユーザ情報は本システム全体を通して適宜参照される。
【0036】
図4は、図1に示す基幹業務システムAのユーザ管理情報A(131)のデータ構成例を示す図である。本実施の形態では、一般的な基幹業務システムのユーザ管理テーブルの項目を持つ例としてユーザ管理情報A(131)を示す。ユーザ管理情報Aは、1つのユーザ(行)毎に、ユーザID(41)、ユーザ名(42)、パスワード(43)、権限(44)、開始日(45)、終了日(46)などの情報を持ち、各ユーザデータはユーザIDによって一意に特定できる。尚、パスワードは、暗号化されて保存されており、基幹業務システムAではパスワード認証の際に、これをシステムで一つだけ用意された復号用のキーで復号して利用している。そのため、基幹業務システムAで使用するものと同じ復号用のキーが、本実施の形態によるシステムにおいて、予め登録されているものとする。権限(44)は、ユーザが基幹業務システムAを利用する権限である。また、開始日(45)はユーザが基幹業務システムAの利用を開始することができる日付であり、終了日(46)は利用を終了する日付である。例えば、会社の基幹業務システムであることを考えると、社員が入社した時には、開始日に入社日を設定し、終了日には十分大きな日付を設定しておく。社員が退職する際には、社員の退職日を終了日に設定すると良い。また、社員が休職する際には、終了日に休職日を設定し、復職する際には終了日に十分大きな日付を設定するといった運用が好ましい。基幹業務システムのユーザ管理情報が、開始日、終了日などの項目を一般的に持つのは、あるユーザが業務システムの利用権限がなくなった後も、そのユーザIDを用いてデータの集計を行ったり、帳票に該当するユーザ名を表示したりする需要があるためである。
【0037】
図5は、基幹情報系システムBのユーザ管理情報B(141)のデータ構成を示すデータ構成例を示す図である。基幹情報系システムBは、基幹情報系システムAとは異なる仕組みを有している例として示しており、本実施の形態では、ユーザ管理情報BはユーザID(51)、ユーザ名(52)、パスワード(53)、権限(54)、認証用ダイジェスト(55)を持つ。権限(54)は、ユーザが基幹情報系システムBを利用する権限である。また、認証用ダイジェスト(55)とは、ユーザIDの後ろにパスワードを付加した文字列を、予めシステムで一つだけ用意されたハッシュ関数でハッシュ化したものである。基幹情報系システムBでは、ユーザ認証には、認証用ダイジェストの一致を採用しているものとする。そのため、本システムにも、予め基幹情報系システムBで使用するものと同じハッシュ関数が登録されているものとする。
尚、図4、図5に示すデータ構成は例示であり、その他のデータ構成であっても良い。
【0038】
図6は、ユーザ情報の登録元システムへの接続・認証方法情報123のデータ構成例を示す図である。接続・認証方法情報は、ユーザの登録元毎に、登録元ID(61)、登録元システム名(62)、登録元システムとの通信手段をあらわす接続情報(63)、登録元のユーザ管理情報から取得するデータ項目(64)、ユーザ認証の方法(65)、本システムが外部から取得したユーザのデータ項目を用いて認証を行う際に本システム内に予め準備しておく情報である事前設定(66)、ユーザが有効かどうかを確かめる方法を設定する有効確認方法(67)と、を含んで構成される。これら全ての項目は、本アプリケーションを導入する際に予め設定されるものである。また、ユーザ情報登録元のシステムを追加するタイミングでその登録元に関する情報を追加して設定する。
【0039】
例えば、1行目のデータ構成は、自己のアプリケーションプログラム(ローカル)に関する設定値であり、図1に示すローカルユーザメンテナンス処理部(118)からのデータセットであり、登録元ID(61)が“001”であり、図3にも示すように登録元システム名はローカルであり、取得データ項目(64)は、ユーザIDとパスワードである。また、有効確認方法(67)は、有効フラグである。
【0040】
2行目のデータ構成は、登録元ID(61)が“002”であり、図3にも示すように登録元システム名は基幹業務システムAであり、取得データ項目(64)は、ユーザID、パスワード、ユーザ名、権限、利用開始日、利用終了日である。パスワード認証(暗号化)の復号キー2が事前に設定されている。また、有効確認方法(67)は、システム日付を、利用開始日と利用終了日と、比較することである。3行目のデータ構成は、登録元ID(61)が“003”であり、図3にも示すように登録元システム名は基幹業務システムBであり、取得データ項目(64)は、ユーザID、パスワード、ユーザ名、認証用ダイジェストである。認証方法(65)が認証用ダイジェストの一致であり、ハッシュ関数が事前設定されている。また、有効確認方法(67)は、ここでは、一例として常に有効とされている。これらの項目は、新たなアプリケーションの導入前に事前設定されているものである。
【0041】
図7は、本実施の形態による権限変換情報124のデータ構成を示す図である。権限変換情報124には、外部システムA・Bのユーザ情報における権限44・54を、本実施の形態によるログイン処理システムの権限グループに変換するためのマッピング情報を登録しており、登録元ID(71)と、事前に設定されている登録元の権限情報(72)、本システムの権限グループ(73)、で構成されている。例えば、図7の1行目の、登録元ID=002(基幹業務システムA)の権限Xは、図2に示す本アプリケーションの権限グループ(21)Aにマッピングされ、登録元ID=003 (基幹情報系システムB)の権限R1は、図2に示す本アプリケーションの権限グループ(21)Cにマッピングされる。
【0042】
通常、基幹業務システムのユーザ管理情報は、ユーザの権限に関する情報を1つ以上持っている。ところで、この権限情報は、リソースにアクセスできる強度(例えば、参照のみ、参照および更新、フルアクセス:図2参照)や、リソースに対する所有情報(人事部門、経理部門、設計部門、営業部門が所有など)に大別されるものがほとんどである。
【0043】
そこで、登録元の権限情報を、本アプリケーションの権限グループに変換する変換テーブルを予め用意することによって、ユーザ毎に本アプリケーションの権限グループを設定する必要がなくなり自動的に付与することができるため、ユーザ管理の手間を省くことができる。逆に、たとえ、外部のユーザで本アプリケーションにログイン可能であっても、ユーザ毎に本アプリケーションの権限グループを設定する必要がある場合には、本アプリケーション用にユーザを定義するのと手間は変わらなくなる。つまり、単に外部ユーザでログインできるだけでは、ユーザ管理の手間はあまり変わらず、権限を自動的に付与することでユーザ管理の手間を省くことができる。
【0044】
権限変換情報124は、本アプリケーションをローカルサーバに導入した時に、登録元システムの権限の種類に応じてデータを追加する。その後、登録元の権限体系の変更や、本システムの権限グループの変更、登録元と本実施の形態によるログイン認証システムの権限グループの対応ルールの変更などに伴って、適宜変更をおこなうことができる。
【0045】
図8は、本実施の形態によるログイン画面の表示や画面からのデータ入力処理(ログイン画面処理部)の流れを示すフローチャート図である。本システムの起動後や、アプリケーション固有処理部でログアウトやエラーが発生した場合や、ログイン処理部でログインに失敗した場合などに、ログイン画面処理が実行される。
【0046】
ログイン画面処理を開始されると、本システムにおいて、ログイン処理部(プログラム)は、まずログイン情報の初期化を行い(ステップS80)、次に接続・認証方法情報(123)から、登録元IDと登録元システム名の組み合わせを全て読み込む(ステップS81)。次に、ログイン画面の登録元(105)に登録元IDに対応する登録元システム名をドロップダウンリストの項目として設定し、ログイン画面を表示する(ステップS82)。
【0047】
ログイン処理部(プログラム)は、図1にも示される、ログインボタン(106)の押下を検知すると、ユーザによって入力された、ユーザID(103)、パスワード(104)、ドロップダウンリストで選択された登録元(105)名に対応する登録元IDの情報を取得する(ステップS83)。
【0048】
取得したユーザIDが空白であれば、メッセージM01(“ユーザIDを入力してください”)をメッセージダイアログ(102)に表示し、ログイン画面処理の開始に戻る(ステップS84,S85)。取得したユーザIDが空白でなければ、ログイン画面処理を終了し、ユーザから入力されたユーザID、パスワード、および、登録元IDを次のユーザ情報取得処理部に引継ぎ、ログイン画面処理を正常終了し、ユーザ情報取得処理部(図1:116)における処理を開始する。
【0049】
図9は、登録元IDに対応した外部システムのユーザ情報やローカルユーザ情報から、ログインに必要なユーザ情報を取得する処理(ユーザ情報取得処理部116)を示すフローチャート図である。
【0050】
処理の開始時には、上述のように、ログイン画面処理部(112)において、ユーザによって画面から入力された登録元ID、ユーザID、および、パスワードの情報を引き継いでいる。
【0051】
ユーザ情報取得処理部(プログラム)は、まず、接続・認証方法情報(123)から、ユーザから入力された登録元ID(61)に対応する接続方法(63)を図6のテーブルを参照して取得し(ステップS91)、登録元のユーザ管理情報に接続し(ステップS92)、ユーザIDが登録元のユーザ管理情報に存在するか否かをチェックする(ステップS93)。例えばログイン画面(101)から、登録元=基幹業務システムA、ユーザID=ichi-soft、が入力されている場合は(図3参照)、ユーザ情報取得処理部(プログラム)は、図6の接続方法としてTCP/IP,SQL接続を選択し、基幹業務システムANITCP/IP接続を行い、ユーザ管理情報Aテーブルに対し、ユーザID=ichi-softに該当するデータが存在するかどうか確認するSQL文を発行する。
【0052】
ユーザIDに関するチェック(ステップS92)の結果、ユーザIDが登録元に存在しなければ(N)、メッセージM02(“入力したユーザIDは登録元に存在しません。”)などをメッセージダイアログ(102)に表示させ、ログイン画面表示処理を開始する(ステップS94)。
【0053】
ユーザIDが登録元に存在した場合には(Y)、そのユーザIDを検索キーとして、図6の接続・認証方法情報の取得データ項目(64)で定義しているデータ項目を登録元のユーザ管理情報から取得する(ステップS95)。例えば、登録元=基幹システムA、ユーザID=ichi-softの場合、取得データ項目は、ユーザID,パスワード、ユーザ名、権限、利用開始日、利用終了日であり、ユーザID=ichi-softをキーに、これらの項目の値を取得するSQL文を基幹業務システムAのユーザ管理情報A(131)に対して発行し、各項目の値を取得する。
【0054】
取得データ項目の取得に成功した場合は(Y)、ユーザから入力されたパスワード、登録元ID、および登録元から取得した取得データ項目の全てを、次の認証処理部に引き継いで、ユーザ情報取得処理を正常終了し、認証処理部(114)を開始する(ステップS96)。
【0055】
取得に失敗した場合は(N)、メッセージM03(“ユーザ情報を正しく取得できませんでした。本アプリケーションの管理者にお問合せください。”)をメッセージダイアログ(102)に表示し、ログイン画面表示処理を開始する(ステップS97)。
【0056】
図10は、ユーザ操作などにより入力されたパスワードと、登録元から取得したパスワードなどの情報とから、ユーザ認証を行う処理(認証処理部)の流れを示すフローチャート図である。
【0057】
本処理の開始時には、ユーザから入力されたパスワード、登録元ID、および登録元から取得した取得データ項目の全てを前処理であるユーザ情報取得部から引き継いでいる。
認証処理部(114)では、まず、図6の接続・認証方法情報から、登録元ID(61)に対応する認証方法(65)および事前設定(66)の項目の読込を行い(ステップS101)、登録元から取得した情報および事前設定に定義した情報を用いて、認証方法(65)に記述した方法で認証を行い(ステップS102)、認証結果を判定する(ステップS103)。
【0058】
認証を行うユーザの登録元システムがローカル、基幹業務システムA、基幹情報系システムBの場合について、それぞれ例として認証の手順を説明する。認証手続きに必要なプログラムについては既に認証(S102)に一般的なライブラリが組み込まれているものとする。
【0059】
ユーザの登録元がローカルの場合は、平文のパスワード認証を行う。(S102)では、ユーザから入力されたパスワードと、ローカルのユーザ情報(122)から取得したパスワードを比較して、一致すれば認証成功とし、一致しなければ認証失敗とする。
【0060】
ユーザの登録元が基幹業務システムAである場合は、パスワード認証を行うが、ユーザ管理情報Aから取得したパスワード(43)は、暗号化されているため、事前設定(66)の復号キーにより復号を行い、それをユーザから入力されたパスワードと比較して、一致すれば認証成功とし、一致しなければ認証失敗とする。
【0061】
ユーザの登録元が基幹情報系システムBである場合は、ユーザから入力されたユーザIDの後ろにユーザから入力されたパスワードを付加した文字列を事前設定(66)のハッシュ関数でハッシュ化して、それをユーザ管理情報Bから取得した認証用ダイジェスト(55)と比較する。比較結果が一致すれば認証成功とし、一致しなければ認証失敗とする。
【0062】
上記処理により認証成功かどうか判定し(S103)、認証成功でない場合は(N)、メッセージM04(“ユーザ認証に失敗しました。正しいログインパスワードを入力してもログインできない場合は、本アプリケーションの管理者にお問合せください。 ”)をメッセージダイアログ(102)に表示し、ログイン画面表示処理を開始する(ステップS104)。認証成功の場合は(Y)、登録元ID、登録元から取得した取得データ項目の全て、を次のユーザ情報変換処理部(115)に引き継いで、認証処理部を正常終了し、ユーザ情報変換処理部を開始する。
【0063】
図11は、取得したユーザ情報を内部のユーザ情報(122)の形式に変換する(ユーザ情報変換処理部(115))の処理の流れを示すフローチャート図である。本処理の開始時には、登録元ID、登録元から取得した取得データ項目の全て、を前処理である認証処理部から引き継いでいる。
【0064】
ユーザ情報更新処理では、まず、登録元IDからユーザがローカルユーザかどうかを判定する(ステップS11−01)。ローカルユーザであれば(Y)、ユーザ情報の有効フラグ(37)が“1”であるかどうか判定し(ステップS11−02)、“1”であれば(Y)有効なユーザとみなし、ユーザ情報変換処理を正常終了、ログイン処理も正常終了し、その後のアプリケーション固有処理部(117)を開始する。この時点でユーザはログインに成功したことになる。
【0065】
ローカルユーザで、ユーザ情報の有効フラグ(37)が“1”でなければ(N)、メッセージM05(“ユーザが無効になっているため、ログインできませんでした。”)をメッセージダイアログ(102)に表示し(ステップS11−03)、ログイン画面表示処理を開始する。
【0066】
尚、ユーザがローカルユーザかどうかを判定する(ステップS11−01)処理を最初に行うのは、ユーザがローカルユーザであれば、これ以降の処理でユーザ情報を変換・更新する必要がないためである。ローカルユーザのユーザ情報更新処理はログイン処理処理部(111)とは独立して、ローカルユーザメンテナンス処理部(118)でおこなう。また、(ステップS11−01、S11−02,S11−03)の処理は、認証処理部(114)とユーザ情報変換処理部(115)との間で行う実装でもかまわず、また、ローカルユーザを全く使わない運用であれば、当該処理を実装しなくても良い。
【0067】
(ステップS11−01)の判定結果で、ユーザがローカルユーザではない場合は(N)、登録元のユーザ管理情報から取得したユーザの権限を、権限変換情報を用いて本アプリケーションの権限グループに変換する処理である、権限情報変換(ステップS11−04)を行う。権限情報変換では、権限変換情報(124)において、の登録元ID(71)がユーザの登録元IDと一致し、かつ、登録元権限情報(72)が(ステップS95)で取得した取得データ項目(64)の権限と一致するレコードの権限グループ(73)を、ユーザ情報の権限グループ(35)を更新するため情報として取得する(ここでは更新は行わない)。
【0068】
例として、ユーザ管理情報Aに登録されているユーザID=ichi-softが本システムにログインを行う場合を説明すると、ユーザichi-softの登録元IDは、図6の接続・認証方法情報(123)より、“002”であり、図4のユーザichi-softの登録元システムでの権限は(44)より、“権限X”である。従って、図7の権限変換情報により、権限グループは1行目の“A”となる。
【0069】
次に、プログラムは変換成功か否かを判定する(ステップS11−05)。権限変換情報が適切に設定されていない等の理由で、権限の変換に失敗した場合は、メッセージM06(“権限の変換に失敗しました。本アプリケーションの管理者にお問合せください。”)をメッセージダイアログ(102)に表示し(ステップS11−06)、ログイン画面表示処理を開始する。
【0070】
変換が成功した場合は、ユーザが登録元システムのユーザ管理情報において、有効なユーザであるかどうかを判定する、ユーザの有効/無効チェック(ステップS11−07)を行う。
【0071】
ユーザの有効/無効チェック(ステップS11−07)では、まず接続・認証方法情報から該当する登録元IDの有効確認方法(67)を取得し、その方法に基づいてユーザの有効/無効チェックを行う。
【0072】
ユーザの有効/無効チェックを行うユーザの登録元システムが基幹業務システムA、基幹情報系システムBの場合について、それぞれ例としてチェックの手順を説明する。ユーザの有効/無効チェックに必要なプログラムについてはそれぞれの登録元IDごとに個別に組み込まれているものとする。
【0073】
ユーザの登録元が基幹業務システムAの場合は、本アプリケーションのシステム日付を取得し、システム日付が取得データ項目(64)で取得した利用開始日以上であり、かつ、システム日付が取得データ項目(64)で取得した利用終了日以下であれば(図4の45、46、図6の67参照)、ユーザは有効とする(Y)。そうでなければ、ユーザは無効とする(N)。
【0074】
ユーザの登録元が期間情報系システムBの場合は、基幹情報系システムBのユーザ管理情報Bではユーザの有効/無効という概念を持っていないため、取得データ項目(64)にユーザの有効/無効を判定する情報は設定されておらず(図6参照)、有効確認方法(67)は常に有効と判定する方法が設定されている。そのため、接続・認証方法情報の有効確認方法(67)より、常にユーザは有効となる。
【0075】
有効/無効チェックに失敗した場合は(N)、メッセージM07(“ユーザの有効/無効チェックに失敗しました。本アプリケーションの管理者にお問合せください。”)をメッセージダイアログ(102)に表示し(ステップS11−08,S11−09)、ログイン画面表示処理を開始する。
【0076】
有効/無効チェックに成功(ステップS11−08)した場合は(Y)、登録元ID、登録元から取得したユーザIDとユーザ名、及び(ステップS11−04)で変換した権限グループ、有効/無効チェックの結果を次のユーザ情報更新処理部(116)に引き継いで、ユーザ情報変換処理を正常終了し、ユーザ情報更新処理部を開始する。
【0077】
図12は、本アプリケーションのユーザ情報(122)を外部から取得したユーザ情報で更新する処理(ユーザ情報更新処理部116)の流れを示すフローチャート図である。
本処理の開始時には、前処理であるユーザ情報変換処理部(115)から、登録元ID、登録元から取得したユーザIDとユーザ名、及び、変換後の権限グループ、有効/無効チェックの結果を引き継いでいる。
【0078】
まず、有効/無効チェックの結果、ユーザが有効でない(ステップS12−01)場合で(N)、ユーザ情報に前処理部から引き継いだ登録元IDとユーザIDの組に一致するレコードが存在し、かつそのレコードの有効フラグが1でない(S12−02)場合(N)、ログインしようとしているユーザは無効であり、かつ、ユーザ情報の有効フラグも“0”になっているため、ユーザ情報を更新することなく、メッセージM08(“ユーザが無効になっているため、ログインできませんでした。登録元システムにログイン可能な場合は、本アプリケーションの管理者にお問合せください。 ”)をメッセージダイアログ(102)に表示し(ステップS12−03)、ログイン画面表示処理を開始する。
【0079】
有効/無効チェックの結果、ユーザが有効でない(ステップS12−01)場合で(N)、ユーザ情報に前処理部から引き継いだ登録元IDとユーザIDの組に一致するレコードが存在し、かつ、そのレコードの有効フラグが1である(ステップS12−02)場合(Y)、ログインしようとしているユーザは無効であるが、ユーザ情報の有効フラグは“1”になったままであるため、ユーザ情報の有効フラグを“0”に更新し、ログインできなくする(ステップS12−04)。そしてメッセージM09(“登録元のユーザが無効になっているため、本システムでもログインは無効になりました。ユーザ固有の設定情報は保存されます。本システムを引き続き利用する場合は登録元システム管理者へお問合せください。”)をメッセージダイアログ(102)に表示し(ステップS12−05)、ログイン画面表示処理を開始する。
【0080】
有効/無効チェックの結果ユーザが有効である(ステップS12−01)場合で(Y)、ユーザ情報に前処理部から引き継いだ登録元IDとユーザIDとの組に一致するレコードが存在しない(ステップS12−06)場合(N)、現在ログインしようとしている外部ユーザの情報をユーザ情報に登録する必要があるため、ユーザ情報にレコードを追加する(S12−07)。レコードを追加する際、ユーザ情報の登録元ID(31)、ユーザ名、権限グループ、にはそれぞれ前処理部から引き継いだ登録元ID、ユーザ名、権限グループを設定し、パスワード(34)は空白を設定し、アプリケーション固有情報(36)には、デフォルト値を設定し、有効フラグには“1”を設定する。そして、メッセージM10(“登録元○○のユーザXXを本アプリケーションのユーザとして新規追加しました。ユーザ固有の設定情報などはデフォルト値を設定しています。”)をメッセージダイアログ(102)に表示し(ステップS12−08)、ユーザ情報更新処理、ログイン処理を正常終了し、アプリケーション固有処理部を開始する。なお、○○の部分には、対応する登録元システム名(62)、XXの部分にはユーザIDを表示する。この時点でユーザは本アプリケーションへのログイン成功となる。
【0081】
次に、以下では、有効/無効チェックの結果、ユーザが有効である(ステップS12−01)場合で(Y)、ユーザ情報に前処理部から引き継いだ登録元IDとユーザIDの組に一致するレコードが存在する(ステップS12−06でY)場合の処理を記述する。
ユーザ情報に変更が無い場合(ステップS12−09でN)、すなわち前処理部から引き継いだ情報が、ユーザ情報の内容とそれぞれ一致する場合は、ユーザ情報を更新する必要がないため、ユーザ情報更新処理、ログイン処理を正常終了し、アプリケーション固有処理部を開始する。この時点でユーザは本アプリケーションへのログイン成功となる。ユーザ情報に変更がある(ステップS12−09でY)場合で、ユーザ情報の有効フラグが“0”(ステップS12−10)の場合(Y)、登録元のユーザが有効になっていて、本アプリケーションのユーザ情報の有効フラグが“0”(無効)になっているため、ユーザ情報の有効フラグを“1”に更新する(ステップS12−11)。そして、メッセージM11(“本アプリケーションを再び利用可能になりました。ユーザ固有の設定情報などは以前のものをお使いいただけます。もし本アプリケーションのご利用がはじめての場合は、登録元システム管理者へお問合せください。”)をメッセージダイアログ(102)に表示し(ステップS12−12)、(ステップS12−13)へ処理を続行する。
【0082】
ユーザ情報に変更がある(ステップS12−09でY)場合で、ユーザ情報の有効フラグが“0”(ステップS12−10)でない場合(N)、(ステップS12−13)へ処理を続行する。
【0083】
権限グループに変更がある(ステップS12−13でY)場合、ユーザ情報の権限グループ(35)を前処理部から引き継いだ権限グループで更新し(ステップS12−14)、メッセージM12(“登録元の権限が変更されたため、権限グループを○○から××に更新しました。本システムで利用できる機能やリソース等が制限される場合がございます。登録元の権限が変更されていない場合は本アプリケーションの管理者へお問合せください。”)をメッセージダイアログ(102)に表示し(ステップS12−15)、(ステップS12−16)へ処理を続行する。尚、メッセージM12中の○○には更新前の権限グループを、××には更新後の権限グループをそれぞれ表示する。
権限グループに変更がない(ステップS12−13でN)場合、(ステップS12−16)へ処理を続行する。
【0084】
(ステップS12−16)でユーザ名に変更がある場合(Y)、ユーザ情報のユーザ名(33)を前処理部から引き継いだユーザ名で更新し(ステップS12−17)、メッセージM13(“ユーザ名を○○から××に更新しました。”)をメッセージダイアログ(102)に表示する(ステップS12−18)。尚、メッセージM13中の○○には更新前のユーザ名を、××には更新後のユーザ名をそれぞれ表示する。そしてユーザ情報更新処理、ログイン処理を正常終了し、アプリケーション固有処理部を開始する。この時点でユーザは本アプリケーションへのログイン成功となる。
【0085】
(ステップS12−16)でユーザ名に変更がない場合(N)、ユーザ情報更新処理、ログイン処理を正常終了し、アプリケーション固有処理部を開始する。この時点でユーザは本アプリケーションへのログイン成功となる。
【0086】
図13は、本アプリケーションのログイン部分で用いる表示メッセージ例を示す、メッセージ一覧である。本アプリケーションは、外部システムのユーザを用いてログインできるため、ログイン時のエラーが、本アプリケーション側の設定に起因するものなのか、それとも登録元システムのユーザ情報に起因するものなのかを明確にすることは、エラー発生時のユーザの対応の観点から重要である。本アプリケーションで用いるメッセージは、現象が本アプリケーション側の設定に起因する場合は、(“本アプリケーションの管理者にお問合せください”)という表現を用い、登録元システムのユーザ情報等に起因するものの場合は(“登録元システム管理者へお問合せください”)といった表現を用いて、ログインエラー発生時に、アプリケーションがユーザに問合せ先を知らせることができるようにしている。
【0087】
尚、本実施の形態では、まずユーザIDが各登録元のユーザ管理情報に存在するかどうか確認し、次に認証およびログインに必要な情報をユーザ管理情報から取得し、そして本システム内部で、あらかじめ登録された手順に従い、認証処理をおこなう実装例を示したが、発明はこの実装例に限定されるものではない。
【0088】
以上に説明したように、本発明の実施の形態による外部システムのユーザ情報を利用可能なログイン機能を持つアプリケーションによれば、基幹業務システム等の外部システムの構成を一切変更することなく、かつ、外部システムのユーザ情報を利用してログイン処理(ユーザの認証およびアプリケーションの利用可能機能に関する権限設定)を行う機能をもつアプリケーションを提供することができるという効果がある。
【0089】
尚、本実施の形態による装置及び方法は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
また、実施の形態で説明した機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。
【産業上の利用可能性】
【0090】
本発明は、認証装置に利用することができる。
【符号の説明】
【0091】
(100) ユーザ・インタフェース(UI)
(100b) 処理部
(101) ログイン画面
(102) ダイアログ
(107) 通信インターフェイス
(110) プログラム
(111) ログイン処理部
(117) アプリケーション固有処理部
(119) 通信インターフェイス
(118) ローカルユーザメンテナンス処理部
(120) アプリケーションデータ
(130) 基幹業務システムA
(140) 基幹情報系システムB
(151) クライアントPC
(152) ローカルサーバ
【技術分野】
【0001】
本発明は、ログイン処理技術に関し、特に、外部システムのユーザ情報を利用可能なログイン機能を持つアプリケーションに関する。
【背景技術】
【0002】
近年の情報に関するセキュリティ意識の高まりに伴い、機密情報を取り扱うようなアプリケーションソフトウェアはログイン機能を備えるものが極めて一般的になっている。このようなアプリケーションは、通常、アプリケーション内部に、リソースへのアクセス権限情報を含むユーザ情報を保持する。
【0003】
ユーザ情報及び権限情報を内部に持つ一般的なアプリケーションでは、ユーザID、ログイン認証用のパスワード、ユーザ名、権限情報、ユーザ固有のアプリケーション設定情報、をデータとして内部に持ち、ユーザIDとパスワード等の認証によってログイン処理を行い、アプリケーションの機能を権限の範囲内で利用する。
【0004】
様々なアプリケーションを組み合わせて利用するシステムでは、個々のアプリケーション毎にユーザを管理しようとすると、管理が煩雑になり運用コストも増大する。このような問題を解決する手段の1つに、ユーザ情報の管理を一元化する方式がある。このような方式の1つを開示する技術文献として、下記特許文献1が挙げられる。この特許文献1に記載の発明は、既存のWebサーバにおけるシステム構成を変更することなく、独立した認証手段を有する複数のWebサーバに対するシングルサインオンを可能とする認証統括システムを提供するものである。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−350866号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、上記特許文献1に記載されているようなシステムでは、導入時にユーザ情報・権限情報を統合あるいは再設定する必要がある。企業等が既に基幹業務システムなどで独自のユーザ情報を一元管理している場合に、当該企業に追加でアプリケーションシステムを導入するケースを想定してみると、シングルサインオンシステムを導入する場合に、導入に伴いユーザ情報を再設定する必要がある。
【0007】
ところが、既に安定稼動している基幹業務システムのユーザ管理・ログイン認証処理を、周辺のアプリケーション導入のためだけにシングルサインオンや統合認証基盤へと移行する作業を行うことは、コストの面から考えて現実的でない。そこで、このような場面にアプリケーションを追加で導入する場合、基幹業務システム等の外部システムの構成を一切変更することなく、かつ、外部システムのユーザ情報を利用してログイン処理(ユーザの認証およびアプリケーションの利用可能機能に関する権限設定)を行うことを可能とすることが重要となる。
【0008】
本発明の目的は、基幹業務システム等の外部システムの構成を一切変更することなく、かつ、外部システムのユーザ情報を利用してログイン処理(ユーザの認証およびアプリケーションの利用可能機能に関する権限設定)を行う機能をもつアプリケーションを提供することにある。
【課題を解決するための手段】
【0009】
本発明の一観点によれば、ログイン処理装置と、前記ログイン処理装置と接続されるアプリケーションデータベースと、を含むサーバ装置であって、前記アプリケーションデータベースは、前記サーバ装置のアプリケーション内での利用権限の組み合わせを、ユーザ端末を特定するユーザIDと、前記ログイン装置においては、ユーザ毎に使える機能、アクセスできるリソースに対して一定の権限をセットで付与する権限グループとして定義した権限グループ情報を登録する権限グループ情報データベースと、前記サーバ装置と接続され、ユーザ管理情報を保持し前記サーバ装置とは独立したユーザ管理を行っている外部システムから取得したユーザ管理情報を前記サーバ装置で利用できる形に変換したユーザ情報を登録するユーザ情報データベースと、外部システムとの接続方法・認証方法を定義した接続・認証方法情報データベースと、外部システムから取得したユーザ管理情報のうち権限に関する項目を前記権限グループとマッピングするための権限変換情報を有し、前記ログイン処理装置は、ユーザ端末(PC)のログイン画面表示を制御するログイン画面処理部と、前記接続・認証方法情報に基づいて前記外部システムから前記ユーザ管理情報を取得するユーザ情報取得部と、取得した前記ユーザ管理情報を前記サーバ装置内部のユーザ管理情報の形式に変換するユーザ情報変換処理部と、を有することを特徴とするサーバ装置が提供される。
【0010】
前記ユーザ情報は、少なくとも、前記ユーザ情報が登録されている登録元システムを特定する登録元IDと、前記権限グループと、を有し、前記登録元IDと前記ユーザIDとの組み合わせによって1つのユーザ情報が一意に特定される情報であり、前記ユーザ情報変換処理部は、登録元の前記ユーザ管理情報から取得した登録元権限情報を、前記権限変換情報を用いて前記サーバ装置の権限グループに変換する権限情報変換処理を実行することが好ましい。前記ユーザ情報変換処理部は、前記権限変換情報において、前記登録元IDが前記ユーザの登録元IDと一致し、かつ、前記登録元権限情報が取得した取得データ項目の権限と一致するレコードの権限グループを、前記ユーザ情報の権限グループを更新するため情報として更新前に取得するようにしても良い。ここでは更新は行われない。
【0011】
前記ユーザ情報変換処理部は、ユーザの有効/無効チェックでは、前記接続・認証方法情報から該当する登録元IDの有効確認方法を取得し、その方法に基づいてユーザの有効/無効チェックを行うようにしても良い。また、前記有効/無効チェックに失敗した場合は、その旨のメッセージをメッセージダイアログに表示し、ログイン画面表示処理を開始するようにしても良い。前記有効/無効チェックに成功した場合は、前記登録元ID、前記登録元から取得した前記ユーザIDと前記変換した権限グループ、有効/無効チェックの結果に基づいてユーザ情報の更新を行うユーザ情報更新処理部を有することが好ましい。前記ユーザ情報変換処理の前処理として、ユーザ認証を行う認証処理部を有することが好ましい。
【0012】
さらに、ローカルユーザを作成するアプリケーション固有処理部と、前記ローカルユーザの作成・更新・削除を含むメンテナンス処理を行うローカルユーザメンテナンス処理部と、を有することが好ましい。前記ユーザ情報変換処理部は、ユーザがローカルユーザであるか否かの判定を最初に行うようにするのが好ましい。この処理を最初に行うのは、ユーザがローカルユーザであれば、これ以降の処理でユーザ情報を変換・更新する必要がないためである。
【0013】
前記ログイン処理部は、前記ユーザ端末のログイン画面表示を制御するログイン画面処理部を有し、ユーザによって入力された、ユーザID(103)、パスワード(104)、ドロップダウンリストで選択された登録元(105)名に対応する登録元IDの情報を取得し、取得したユーザIDが空白でなければ、ログイン画面処理を終了し、ユーザから入力されたユーザID、パスワード、および、登録元IDを次のユーザ情報取得処理部に引継ぎ、ログイン画面処理を正常終了することが好ましい。前記外部システムが複数の場合に、前記ログイン画面表示において、ログイン画面の登録元に登録元IDに対応する登録元システム名をドロップダウンリストの項目として設定し、ログイン画面を表示させることが好ましい。
【0014】
さらに、ユーザ認証を行う認証処理部を有し、ユーザから入力されたパスワード、登録元ID、および登録元から取得した取得データ項目の全てを前処理であるユーザ情報取得部から引き継いでおり、前記認証処理部は、入力されたパスワードと、登録元から取得したパスワードとに基づいて、ユーザ認証を行うことが好ましい。さらに、前記ユーザ情報は、そのユーザが現在有効か否かを表すフラグを有していることが好ましい。
本発明は、上記に記載のサーバ装置と、ユーザPCと、外部システムと、を有するログインシステムであっても良い。
【0015】
本発明の他の観点によれば、ログイン処理装置と、前記ログイン処理装置と接続されるアプリケーションデータベースと、を含むであって、前記アプリケーションデータベースは、前記サーバ装置のアプリケーション内での利用権限の組み合わせを、ユーザ端末を特定するユーザIDと、前記ログイン装置においては、ユーザ毎に使える機能、アクセスできるリソースに対して一定の権限をセットで付与する権限グループとして定義した権限グループ情報を登録する権限グループ情報データベースと、前記サーバ装置と接続され、ユーザ管理情報を保持し前記サーバ装置とは独立したユーザ管理を行っている外部システムから取得したユーザ管理情報を前記サーバ装置で利用できる形に変換したユーザ情報を登録するユーザ情報データベースと、外部システムとの接続方法・認証方法を定義した接続・認証方法情報データベースと、外部システムから取得したユーザ管理情報のうち権限に関する項目を前記権限グループとマッピングするための権限変換情報を有するサーバ装置におけるログイン方法であって、ユーザ端末(PC)のログイン画面表示からの入力と、前記接続・認証方法情報と、に基づいて、前記外部システムから前記ユーザ管理情報を取得するユーザ情報取得ステップと、取得した前記ユーザ管理情報を前記サーバ装置内部のユーザ管理情報の形式に変換するユーザ情報変換処理ステップと、を有することを特徴とするログイン方法が提供される。
【0016】
前記ユーザ情報は、少なくとも、前記ユーザ情報が登録されている登録元システムを特定する登録元IDと、前記権限グループと、を有し、前記登録元IDと前記ユーザIDとの組み合わせによって1つのユーザ情報が一意に特定される情報であり、前記ユーザ情報変換処理ステップは、登録元の前記ユーザ管理情報から取得した登録元権限情報を、前記権限変換情報を用いて前記サーバ装置の権限グループに変換する権限情報変換処理を実行するステップを有することが好ましい。前記ユーザ情報変換処理ステップは、前記権限変換情報において、前記登録元IDが前記ユーザの登録元IDと一致し、かつ、前記登録元権限情報が取得した取得データ項目の権限と一致するレコードの権限グループを、前記ユーザ情報の権限グループを更新するため情報として更新前に取得するステップを有することが好ましい。
本発明は、コンピュータに、上記のいずれか1項に記載の方法を実行させるためのプログラムであっても良い。
【発明の効果】
【0017】
本発明の外部システムのユーザ情報を利用可能なログイン機能を持つアプリケーションによれば、次のような効果がある。
基幹業務システム等の外部システムの構成を一切変更することなく、かつ外部システムのユーザ情報を利用してログイン処理(ユーザの認証およびアプリケーションの利用可能機能に関する権限設定)を行う機能をもつアプリケーションを提供することができる。
【図面の簡単な説明】
【0018】
【図1】本発明の一実施の形態によるログイン処理プログラムを含むアプリケーションの一構成例を示す図である。
【図2】権限グループ情報を示すデータ構成例を示す図である。
【図3】ユーザ情報を示すデータ構成例を示す図である。
【図4】第1の基幹業務システムAのユーザ管理情報のデータ構成例を示す図である。
【図5】第2の基幹情報系システムBのユーザ管理情報のデータ構成例を示す図である。
【図6】ユーザ情報の登録元システムへの接続・認証方法情報のデータ構成例を示す図である。
【図7】権限変換情報のデータ構成例を示す図である。
【図8】ログイン画面の表示や画面からの入力データにおける処理(ログイン画面処理部)の流れを示すフローチャート図である。
【図9】登録元IDに対応した外部システムのユーザ情報やローカルユーザ情報から、ログインに必要なユーザ情報を取得する処理(ユーザ情報取得処理部の処理)を示すフローチャート図である。
【図10】ユーザから入力されたパスワードと、登録元から取得したパスワードなどの情報からユーザ認証と、を行う処理(認証処理部の処理)を示すフローチャート図である。
【図11】取得したユーザ情報を内部のユーザ情報の形式に変換する(ユーザ情報変換処理部の処理)を示すフローチャート図である。
【図12】アプリケーションのユーザ情報を外部から取得したユーザ情報で更新する処理(ユーザ情報更新処理部の処理)を示すフローチャート図である。
【図13】本アプリケーションのログイン部分で用いる表示メッセージ例を示す、メッセージ一覧である。
【発明を実施するための形態】
【0019】
以下、本発明を適用した外部システムのユーザ情報を利用可能なログイン機能を持つシステム(以下、「本システム」と呼ぶ。)の一実施の形態について説明する。
【0020】
図1は、本発明の一実施の形態によるログイン機能を含む本システムの一構成例を示す図である。本実施の形態によるシステムにおいては、外部システムのユーザ情報を利用可能なログイン機能(ログイン処理部111)を持つアプリケーションプログラム(以下、「本アプリケーション」と呼ぶ。)は、ユーザからのログイン情報の入力を受け取るログイン画面(101)やメッセージを表示するダイアログ(102)を含み、処理部(100b)と通信インターフェイス(107)を備えたユーザインタフェース(100)と、CPUと通信インターフェイス(119)を備え、ログイン処理部(111)やローカルユーザメンテナンス処理部(118)、及び、その他のアプリケーション固有処理部(117)とを含むサーバ側プログラム110と、利用する情報を格納したアプリケーションデータ(120)と、で構成される。サーバ側プログラム110は、ローカルサーバ152のCPUにおいて実行される。ローカルサーバ152は、クライアントPCがUIによりアクセスする企業のサーバなどである。ユーザ・インタフェース(UI)(100)は、例えば、処理部(100b)を備えたクライアントPC151(端末)のUIである。また、クライアントPC151とローカルサーバ152は、それぞれ通信インターフェイス(107)と通信インターフェイス(119)を介して通信を行う。
【0021】
本アプリケーションのローカルサーバ152は、ユーザ情報を利用する目的で、企業内又は企業外のサーバとは異なる外部システム(外部サーバ)である、基幹業務システムA(130)および基幹情報系システムB(140)とネットワークNT経由で接続されている。
【0022】
基幹業務システムAは、ユーザ管理情報(DB)A(131)を保持し、基幹情報系システムBはユーザ管理情報(DB)B(141)を保持し、基幹業務システムAと基幹情報系システムBとは、それぞれ本アプリケーションとは独立したユーザ管理を行っている。本アプリケーションのローカルサーバでは、外部のユーザ管理情報(DB)Aやユーザ管理情報(DB)Bからユーザ情報を取得するが、外部のユーザ管理情報A・Bの内容を変更することは一切しないようになっている。
【0023】
尚、本アプリケーションのローカルサーバと基幹業務システムAおよび基幹情報系システムBとの間には、HTTPSなどのセキュリティを確保した適切な通信手段でNT接続されている。
【0024】
クライアントPC151のUI(100)において、ログイン画面(101)は、ユーザIDの入力欄(103)と、パスワードの入力欄(104)と、ユーザの登録元情報入力欄(105)と、ログインを実行するログインボタン(106)と、を有して構成されている。
【0025】
ローカルサーバ内のアプリケーションデータ120は、本アプリケーション内での利用権限の組み合わせを権限グループとして定義した権限グループ定義(121)と、ローカルユーザ情報を登録するためあるいは外部から取得したユーザ情報を本アプリケーションで利用できる形に変換して登録するためのユーザ情報(122)と、外部システム等との接続方法や認証方法を定義した接続・認証方法情報(123)と、外部から取得したユーザ情報のうち権限に関する項目を本アプリケーションの権限グループとマッピングするための権限変換情報(124)から構成される。
【0026】
ログイン処理部(111)は、クライアントPCがUI(100)のログイン画面表示を制御するログイン画面処理部(112)と、基幹業務システム(外部システム)(130)・(140)、本ローカルサーバ内部からユーザ情報を取得するユーザ情報取得部(113)と、ユーザ認証を行う認証処理部(114)と、取得したユーザ情報をローカルサーバ内部のユーザ情報(122)の形式に変換するユーザ情報変換処理部(115)と、外部のユーザ情報を内部のユーザ情報(122)に反映するユーザ情報更新処理部(116)と、から構成される。
【0027】
本システムは、外部のユーザ情報も利用可能だが、アプリケーション固有処理部(117)においてローカルユーザを作成することもでき、そのローカルユーザの作成・更新・削除などのメンテナンス処理はローカルユーザメンテナンス処理部(118)で行うことができる。
【0028】
図2は、ローカルサーバ内の本アプリケーションで利用する権限グループ定義(121)に定義されている情報の内容の例を示すデータ構成図である。本アプリケーションにおいては、ユーザ毎に使える機能やアクセスできるリソースに対して一定の権限をセットで付与することができるように構成されている。各権限(22)(権限1、権限2、…)には、アプリケーションで利用できる機能やアクセス可能なリソースなどが入る。例えば、データベースの操作を行うアプリケーションを考えると、個々の権限として、テーブルの参照操作、テーブルの更新操作、テーブルの削除操作、テーブルの追加操作、ユーザの管理、などといった機能や、あるいはアクセス可能なリソースとしての個々のテーブルが定義される。そしてそれら個々の権限の有無の組み合わせを権限グループ(21)として定義する。
【0029】
図2中の○印は、権限を有することを表し、×印は権限を有さないことを表す。尚、ローカルサーバの本アプリケーションを用いるユーザに対して権限グループを付与することにより、ユーザが利用できる機能やリソースが決定されるものとする。
【0030】
権限グループ情報は、本アプリケーション導入時に利用形態に応じて予め設定しておき、その後に、利用形態の変更等に伴って必要であれば適宜変更することができる。
【0031】
例えば、権限グループ21が“A”の場合には、権限1から5まで全ての権限を有しており、フルアクセスが可能なことを示しており、権限グループ21が“B”の場合には、権限1から3まで権限のみを有しており、例えば、本アプリケーションへのフルアクセスが可能なことを示しており、権限グループ21が“C”の場合には、権限1、2のみを有しており、例えば、本アプリケーションのデータを参照のみが可能なことを示しており、権限グループ21が“D”の場合には、権限1のみの最小の権限を有してことを示している。
【0032】
図3は、ローカルサーバの本アプリケーションで利用されるユーザ情報(122)のデータ構成例を示す図である。1行に1つのユーザ情報が記述されており、それぞれのユーザ情報は、登録元ID(31)、ユーザID(32)、ユーザ名(33)、パスワード(34)、権限グループ(35)、アプリケーション固有情報(36)、有効フラグ(37)、を有している。登録元ID(31)とユーザID(32)との組み合わせによって1つのユーザ情報が一意に特定される。登録元ID(31)とは、ユーザ情報が登録されている登録元システムを特定するIDであり、本実施の形態では、登録元IDが“001”の場合は、本アプリケーション用のローカルサーバ自身にユーザ登録されていることを示している。このようなユーザをローカルユーザと呼び、ローカルユーザ以外を外部ユーザと呼ぶ。登録元ID(31)が“002”である場合は、外部の基幹業務システムAに登録されているユーザ情報を表し、また、“003”の場合は、外部の基幹情報系システムBに登録されているユーザ情報を表す。尚、本実施の形態では、本アプリケーションをローカルユーザと外部ユーザとの両方で利用できるようにしているが、外部ユーザの利用のみに適用することも可能である。この場合には、図3で、登録元ID“001”の行が存在しない。また、登録元ID(31)は、3つに限定されるものでもなく、外部の基幹情報系システム数の増減に応じて適宜、変更されるものである。
【0033】
ユーザID(32)は、各登録元でユーザを一意に特定するIDである。ユーザ名(33)は、ユーザの名称を表す。パスワード(34)は、ユーザがローカルユーザの場合にパスワード認証を行うために設定する。権限グループ(35)には、図2で定義した権限グループ(21)と同じグループが設定される。アプリケーション固有情報(36)とは、ユーザがそのアプリケーションの中で自由に設定保存できる情報のことであり、例えば、データベースの操作を行うアプリケーションであれば、ユーザが保存した検索条件登録、よく使う機能の登録、画面のレイアウト情報、画面のデザイン、ユーザ固有の設定などが挙げられる。
【0034】
有効フラグ(37)とは、そのユーザが現在有効か否かを表すフラグであり、1であれば有効、0であれば無効であることを示す。有効フラグが1の場合は、そのユーザは本アプリケーションにログインしてアプリケーションを利用することができる。有効フラグが0の場合は、ユーザ情報は保持するが、アプリケーションを利用することができない。本実施の形態で、ユーザ情報に有効フラグを持たせることによって、例えば一時的にあるユーザのフラグが無効になって利用できなくなったとしても、その後にそのユーザを再度有効に設定すれば、前述のアプリケーション固有情報を引き続き利用できるため、運用上便利である。
【0035】
ユーザ情報の追加や更新(あるいは削除)は、ローカルユーザであれば図1(118)のローカルユーザメンテナンス処理部が行い、外部ユーザであれば図1(116)のユーザ情報更新処理部が行う。また、ユーザ情報は本システム全体を通して適宜参照される。
【0036】
図4は、図1に示す基幹業務システムAのユーザ管理情報A(131)のデータ構成例を示す図である。本実施の形態では、一般的な基幹業務システムのユーザ管理テーブルの項目を持つ例としてユーザ管理情報A(131)を示す。ユーザ管理情報Aは、1つのユーザ(行)毎に、ユーザID(41)、ユーザ名(42)、パスワード(43)、権限(44)、開始日(45)、終了日(46)などの情報を持ち、各ユーザデータはユーザIDによって一意に特定できる。尚、パスワードは、暗号化されて保存されており、基幹業務システムAではパスワード認証の際に、これをシステムで一つだけ用意された復号用のキーで復号して利用している。そのため、基幹業務システムAで使用するものと同じ復号用のキーが、本実施の形態によるシステムにおいて、予め登録されているものとする。権限(44)は、ユーザが基幹業務システムAを利用する権限である。また、開始日(45)はユーザが基幹業務システムAの利用を開始することができる日付であり、終了日(46)は利用を終了する日付である。例えば、会社の基幹業務システムであることを考えると、社員が入社した時には、開始日に入社日を設定し、終了日には十分大きな日付を設定しておく。社員が退職する際には、社員の退職日を終了日に設定すると良い。また、社員が休職する際には、終了日に休職日を設定し、復職する際には終了日に十分大きな日付を設定するといった運用が好ましい。基幹業務システムのユーザ管理情報が、開始日、終了日などの項目を一般的に持つのは、あるユーザが業務システムの利用権限がなくなった後も、そのユーザIDを用いてデータの集計を行ったり、帳票に該当するユーザ名を表示したりする需要があるためである。
【0037】
図5は、基幹情報系システムBのユーザ管理情報B(141)のデータ構成を示すデータ構成例を示す図である。基幹情報系システムBは、基幹情報系システムAとは異なる仕組みを有している例として示しており、本実施の形態では、ユーザ管理情報BはユーザID(51)、ユーザ名(52)、パスワード(53)、権限(54)、認証用ダイジェスト(55)を持つ。権限(54)は、ユーザが基幹情報系システムBを利用する権限である。また、認証用ダイジェスト(55)とは、ユーザIDの後ろにパスワードを付加した文字列を、予めシステムで一つだけ用意されたハッシュ関数でハッシュ化したものである。基幹情報系システムBでは、ユーザ認証には、認証用ダイジェストの一致を採用しているものとする。そのため、本システムにも、予め基幹情報系システムBで使用するものと同じハッシュ関数が登録されているものとする。
尚、図4、図5に示すデータ構成は例示であり、その他のデータ構成であっても良い。
【0038】
図6は、ユーザ情報の登録元システムへの接続・認証方法情報123のデータ構成例を示す図である。接続・認証方法情報は、ユーザの登録元毎に、登録元ID(61)、登録元システム名(62)、登録元システムとの通信手段をあらわす接続情報(63)、登録元のユーザ管理情報から取得するデータ項目(64)、ユーザ認証の方法(65)、本システムが外部から取得したユーザのデータ項目を用いて認証を行う際に本システム内に予め準備しておく情報である事前設定(66)、ユーザが有効かどうかを確かめる方法を設定する有効確認方法(67)と、を含んで構成される。これら全ての項目は、本アプリケーションを導入する際に予め設定されるものである。また、ユーザ情報登録元のシステムを追加するタイミングでその登録元に関する情報を追加して設定する。
【0039】
例えば、1行目のデータ構成は、自己のアプリケーションプログラム(ローカル)に関する設定値であり、図1に示すローカルユーザメンテナンス処理部(118)からのデータセットであり、登録元ID(61)が“001”であり、図3にも示すように登録元システム名はローカルであり、取得データ項目(64)は、ユーザIDとパスワードである。また、有効確認方法(67)は、有効フラグである。
【0040】
2行目のデータ構成は、登録元ID(61)が“002”であり、図3にも示すように登録元システム名は基幹業務システムAであり、取得データ項目(64)は、ユーザID、パスワード、ユーザ名、権限、利用開始日、利用終了日である。パスワード認証(暗号化)の復号キー2が事前に設定されている。また、有効確認方法(67)は、システム日付を、利用開始日と利用終了日と、比較することである。3行目のデータ構成は、登録元ID(61)が“003”であり、図3にも示すように登録元システム名は基幹業務システムBであり、取得データ項目(64)は、ユーザID、パスワード、ユーザ名、認証用ダイジェストである。認証方法(65)が認証用ダイジェストの一致であり、ハッシュ関数が事前設定されている。また、有効確認方法(67)は、ここでは、一例として常に有効とされている。これらの項目は、新たなアプリケーションの導入前に事前設定されているものである。
【0041】
図7は、本実施の形態による権限変換情報124のデータ構成を示す図である。権限変換情報124には、外部システムA・Bのユーザ情報における権限44・54を、本実施の形態によるログイン処理システムの権限グループに変換するためのマッピング情報を登録しており、登録元ID(71)と、事前に設定されている登録元の権限情報(72)、本システムの権限グループ(73)、で構成されている。例えば、図7の1行目の、登録元ID=002(基幹業務システムA)の権限Xは、図2に示す本アプリケーションの権限グループ(21)Aにマッピングされ、登録元ID=003 (基幹情報系システムB)の権限R1は、図2に示す本アプリケーションの権限グループ(21)Cにマッピングされる。
【0042】
通常、基幹業務システムのユーザ管理情報は、ユーザの権限に関する情報を1つ以上持っている。ところで、この権限情報は、リソースにアクセスできる強度(例えば、参照のみ、参照および更新、フルアクセス:図2参照)や、リソースに対する所有情報(人事部門、経理部門、設計部門、営業部門が所有など)に大別されるものがほとんどである。
【0043】
そこで、登録元の権限情報を、本アプリケーションの権限グループに変換する変換テーブルを予め用意することによって、ユーザ毎に本アプリケーションの権限グループを設定する必要がなくなり自動的に付与することができるため、ユーザ管理の手間を省くことができる。逆に、たとえ、外部のユーザで本アプリケーションにログイン可能であっても、ユーザ毎に本アプリケーションの権限グループを設定する必要がある場合には、本アプリケーション用にユーザを定義するのと手間は変わらなくなる。つまり、単に外部ユーザでログインできるだけでは、ユーザ管理の手間はあまり変わらず、権限を自動的に付与することでユーザ管理の手間を省くことができる。
【0044】
権限変換情報124は、本アプリケーションをローカルサーバに導入した時に、登録元システムの権限の種類に応じてデータを追加する。その後、登録元の権限体系の変更や、本システムの権限グループの変更、登録元と本実施の形態によるログイン認証システムの権限グループの対応ルールの変更などに伴って、適宜変更をおこなうことができる。
【0045】
図8は、本実施の形態によるログイン画面の表示や画面からのデータ入力処理(ログイン画面処理部)の流れを示すフローチャート図である。本システムの起動後や、アプリケーション固有処理部でログアウトやエラーが発生した場合や、ログイン処理部でログインに失敗した場合などに、ログイン画面処理が実行される。
【0046】
ログイン画面処理を開始されると、本システムにおいて、ログイン処理部(プログラム)は、まずログイン情報の初期化を行い(ステップS80)、次に接続・認証方法情報(123)から、登録元IDと登録元システム名の組み合わせを全て読み込む(ステップS81)。次に、ログイン画面の登録元(105)に登録元IDに対応する登録元システム名をドロップダウンリストの項目として設定し、ログイン画面を表示する(ステップS82)。
【0047】
ログイン処理部(プログラム)は、図1にも示される、ログインボタン(106)の押下を検知すると、ユーザによって入力された、ユーザID(103)、パスワード(104)、ドロップダウンリストで選択された登録元(105)名に対応する登録元IDの情報を取得する(ステップS83)。
【0048】
取得したユーザIDが空白であれば、メッセージM01(“ユーザIDを入力してください”)をメッセージダイアログ(102)に表示し、ログイン画面処理の開始に戻る(ステップS84,S85)。取得したユーザIDが空白でなければ、ログイン画面処理を終了し、ユーザから入力されたユーザID、パスワード、および、登録元IDを次のユーザ情報取得処理部に引継ぎ、ログイン画面処理を正常終了し、ユーザ情報取得処理部(図1:116)における処理を開始する。
【0049】
図9は、登録元IDに対応した外部システムのユーザ情報やローカルユーザ情報から、ログインに必要なユーザ情報を取得する処理(ユーザ情報取得処理部116)を示すフローチャート図である。
【0050】
処理の開始時には、上述のように、ログイン画面処理部(112)において、ユーザによって画面から入力された登録元ID、ユーザID、および、パスワードの情報を引き継いでいる。
【0051】
ユーザ情報取得処理部(プログラム)は、まず、接続・認証方法情報(123)から、ユーザから入力された登録元ID(61)に対応する接続方法(63)を図6のテーブルを参照して取得し(ステップS91)、登録元のユーザ管理情報に接続し(ステップS92)、ユーザIDが登録元のユーザ管理情報に存在するか否かをチェックする(ステップS93)。例えばログイン画面(101)から、登録元=基幹業務システムA、ユーザID=ichi-soft、が入力されている場合は(図3参照)、ユーザ情報取得処理部(プログラム)は、図6の接続方法としてTCP/IP,SQL接続を選択し、基幹業務システムANITCP/IP接続を行い、ユーザ管理情報Aテーブルに対し、ユーザID=ichi-softに該当するデータが存在するかどうか確認するSQL文を発行する。
【0052】
ユーザIDに関するチェック(ステップS92)の結果、ユーザIDが登録元に存在しなければ(N)、メッセージM02(“入力したユーザIDは登録元に存在しません。”)などをメッセージダイアログ(102)に表示させ、ログイン画面表示処理を開始する(ステップS94)。
【0053】
ユーザIDが登録元に存在した場合には(Y)、そのユーザIDを検索キーとして、図6の接続・認証方法情報の取得データ項目(64)で定義しているデータ項目を登録元のユーザ管理情報から取得する(ステップS95)。例えば、登録元=基幹システムA、ユーザID=ichi-softの場合、取得データ項目は、ユーザID,パスワード、ユーザ名、権限、利用開始日、利用終了日であり、ユーザID=ichi-softをキーに、これらの項目の値を取得するSQL文を基幹業務システムAのユーザ管理情報A(131)に対して発行し、各項目の値を取得する。
【0054】
取得データ項目の取得に成功した場合は(Y)、ユーザから入力されたパスワード、登録元ID、および登録元から取得した取得データ項目の全てを、次の認証処理部に引き継いで、ユーザ情報取得処理を正常終了し、認証処理部(114)を開始する(ステップS96)。
【0055】
取得に失敗した場合は(N)、メッセージM03(“ユーザ情報を正しく取得できませんでした。本アプリケーションの管理者にお問合せください。”)をメッセージダイアログ(102)に表示し、ログイン画面表示処理を開始する(ステップS97)。
【0056】
図10は、ユーザ操作などにより入力されたパスワードと、登録元から取得したパスワードなどの情報とから、ユーザ認証を行う処理(認証処理部)の流れを示すフローチャート図である。
【0057】
本処理の開始時には、ユーザから入力されたパスワード、登録元ID、および登録元から取得した取得データ項目の全てを前処理であるユーザ情報取得部から引き継いでいる。
認証処理部(114)では、まず、図6の接続・認証方法情報から、登録元ID(61)に対応する認証方法(65)および事前設定(66)の項目の読込を行い(ステップS101)、登録元から取得した情報および事前設定に定義した情報を用いて、認証方法(65)に記述した方法で認証を行い(ステップS102)、認証結果を判定する(ステップS103)。
【0058】
認証を行うユーザの登録元システムがローカル、基幹業務システムA、基幹情報系システムBの場合について、それぞれ例として認証の手順を説明する。認証手続きに必要なプログラムについては既に認証(S102)に一般的なライブラリが組み込まれているものとする。
【0059】
ユーザの登録元がローカルの場合は、平文のパスワード認証を行う。(S102)では、ユーザから入力されたパスワードと、ローカルのユーザ情報(122)から取得したパスワードを比較して、一致すれば認証成功とし、一致しなければ認証失敗とする。
【0060】
ユーザの登録元が基幹業務システムAである場合は、パスワード認証を行うが、ユーザ管理情報Aから取得したパスワード(43)は、暗号化されているため、事前設定(66)の復号キーにより復号を行い、それをユーザから入力されたパスワードと比較して、一致すれば認証成功とし、一致しなければ認証失敗とする。
【0061】
ユーザの登録元が基幹情報系システムBである場合は、ユーザから入力されたユーザIDの後ろにユーザから入力されたパスワードを付加した文字列を事前設定(66)のハッシュ関数でハッシュ化して、それをユーザ管理情報Bから取得した認証用ダイジェスト(55)と比較する。比較結果が一致すれば認証成功とし、一致しなければ認証失敗とする。
【0062】
上記処理により認証成功かどうか判定し(S103)、認証成功でない場合は(N)、メッセージM04(“ユーザ認証に失敗しました。正しいログインパスワードを入力してもログインできない場合は、本アプリケーションの管理者にお問合せください。 ”)をメッセージダイアログ(102)に表示し、ログイン画面表示処理を開始する(ステップS104)。認証成功の場合は(Y)、登録元ID、登録元から取得した取得データ項目の全て、を次のユーザ情報変換処理部(115)に引き継いで、認証処理部を正常終了し、ユーザ情報変換処理部を開始する。
【0063】
図11は、取得したユーザ情報を内部のユーザ情報(122)の形式に変換する(ユーザ情報変換処理部(115))の処理の流れを示すフローチャート図である。本処理の開始時には、登録元ID、登録元から取得した取得データ項目の全て、を前処理である認証処理部から引き継いでいる。
【0064】
ユーザ情報更新処理では、まず、登録元IDからユーザがローカルユーザかどうかを判定する(ステップS11−01)。ローカルユーザであれば(Y)、ユーザ情報の有効フラグ(37)が“1”であるかどうか判定し(ステップS11−02)、“1”であれば(Y)有効なユーザとみなし、ユーザ情報変換処理を正常終了、ログイン処理も正常終了し、その後のアプリケーション固有処理部(117)を開始する。この時点でユーザはログインに成功したことになる。
【0065】
ローカルユーザで、ユーザ情報の有効フラグ(37)が“1”でなければ(N)、メッセージM05(“ユーザが無効になっているため、ログインできませんでした。”)をメッセージダイアログ(102)に表示し(ステップS11−03)、ログイン画面表示処理を開始する。
【0066】
尚、ユーザがローカルユーザかどうかを判定する(ステップS11−01)処理を最初に行うのは、ユーザがローカルユーザであれば、これ以降の処理でユーザ情報を変換・更新する必要がないためである。ローカルユーザのユーザ情報更新処理はログイン処理処理部(111)とは独立して、ローカルユーザメンテナンス処理部(118)でおこなう。また、(ステップS11−01、S11−02,S11−03)の処理は、認証処理部(114)とユーザ情報変換処理部(115)との間で行う実装でもかまわず、また、ローカルユーザを全く使わない運用であれば、当該処理を実装しなくても良い。
【0067】
(ステップS11−01)の判定結果で、ユーザがローカルユーザではない場合は(N)、登録元のユーザ管理情報から取得したユーザの権限を、権限変換情報を用いて本アプリケーションの権限グループに変換する処理である、権限情報変換(ステップS11−04)を行う。権限情報変換では、権限変換情報(124)において、の登録元ID(71)がユーザの登録元IDと一致し、かつ、登録元権限情報(72)が(ステップS95)で取得した取得データ項目(64)の権限と一致するレコードの権限グループ(73)を、ユーザ情報の権限グループ(35)を更新するため情報として取得する(ここでは更新は行わない)。
【0068】
例として、ユーザ管理情報Aに登録されているユーザID=ichi-softが本システムにログインを行う場合を説明すると、ユーザichi-softの登録元IDは、図6の接続・認証方法情報(123)より、“002”であり、図4のユーザichi-softの登録元システムでの権限は(44)より、“権限X”である。従って、図7の権限変換情報により、権限グループは1行目の“A”となる。
【0069】
次に、プログラムは変換成功か否かを判定する(ステップS11−05)。権限変換情報が適切に設定されていない等の理由で、権限の変換に失敗した場合は、メッセージM06(“権限の変換に失敗しました。本アプリケーションの管理者にお問合せください。”)をメッセージダイアログ(102)に表示し(ステップS11−06)、ログイン画面表示処理を開始する。
【0070】
変換が成功した場合は、ユーザが登録元システムのユーザ管理情報において、有効なユーザであるかどうかを判定する、ユーザの有効/無効チェック(ステップS11−07)を行う。
【0071】
ユーザの有効/無効チェック(ステップS11−07)では、まず接続・認証方法情報から該当する登録元IDの有効確認方法(67)を取得し、その方法に基づいてユーザの有効/無効チェックを行う。
【0072】
ユーザの有効/無効チェックを行うユーザの登録元システムが基幹業務システムA、基幹情報系システムBの場合について、それぞれ例としてチェックの手順を説明する。ユーザの有効/無効チェックに必要なプログラムについてはそれぞれの登録元IDごとに個別に組み込まれているものとする。
【0073】
ユーザの登録元が基幹業務システムAの場合は、本アプリケーションのシステム日付を取得し、システム日付が取得データ項目(64)で取得した利用開始日以上であり、かつ、システム日付が取得データ項目(64)で取得した利用終了日以下であれば(図4の45、46、図6の67参照)、ユーザは有効とする(Y)。そうでなければ、ユーザは無効とする(N)。
【0074】
ユーザの登録元が期間情報系システムBの場合は、基幹情報系システムBのユーザ管理情報Bではユーザの有効/無効という概念を持っていないため、取得データ項目(64)にユーザの有効/無効を判定する情報は設定されておらず(図6参照)、有効確認方法(67)は常に有効と判定する方法が設定されている。そのため、接続・認証方法情報の有効確認方法(67)より、常にユーザは有効となる。
【0075】
有効/無効チェックに失敗した場合は(N)、メッセージM07(“ユーザの有効/無効チェックに失敗しました。本アプリケーションの管理者にお問合せください。”)をメッセージダイアログ(102)に表示し(ステップS11−08,S11−09)、ログイン画面表示処理を開始する。
【0076】
有効/無効チェックに成功(ステップS11−08)した場合は(Y)、登録元ID、登録元から取得したユーザIDとユーザ名、及び(ステップS11−04)で変換した権限グループ、有効/無効チェックの結果を次のユーザ情報更新処理部(116)に引き継いで、ユーザ情報変換処理を正常終了し、ユーザ情報更新処理部を開始する。
【0077】
図12は、本アプリケーションのユーザ情報(122)を外部から取得したユーザ情報で更新する処理(ユーザ情報更新処理部116)の流れを示すフローチャート図である。
本処理の開始時には、前処理であるユーザ情報変換処理部(115)から、登録元ID、登録元から取得したユーザIDとユーザ名、及び、変換後の権限グループ、有効/無効チェックの結果を引き継いでいる。
【0078】
まず、有効/無効チェックの結果、ユーザが有効でない(ステップS12−01)場合で(N)、ユーザ情報に前処理部から引き継いだ登録元IDとユーザIDの組に一致するレコードが存在し、かつそのレコードの有効フラグが1でない(S12−02)場合(N)、ログインしようとしているユーザは無効であり、かつ、ユーザ情報の有効フラグも“0”になっているため、ユーザ情報を更新することなく、メッセージM08(“ユーザが無効になっているため、ログインできませんでした。登録元システムにログイン可能な場合は、本アプリケーションの管理者にお問合せください。 ”)をメッセージダイアログ(102)に表示し(ステップS12−03)、ログイン画面表示処理を開始する。
【0079】
有効/無効チェックの結果、ユーザが有効でない(ステップS12−01)場合で(N)、ユーザ情報に前処理部から引き継いだ登録元IDとユーザIDの組に一致するレコードが存在し、かつ、そのレコードの有効フラグが1である(ステップS12−02)場合(Y)、ログインしようとしているユーザは無効であるが、ユーザ情報の有効フラグは“1”になったままであるため、ユーザ情報の有効フラグを“0”に更新し、ログインできなくする(ステップS12−04)。そしてメッセージM09(“登録元のユーザが無効になっているため、本システムでもログインは無効になりました。ユーザ固有の設定情報は保存されます。本システムを引き続き利用する場合は登録元システム管理者へお問合せください。”)をメッセージダイアログ(102)に表示し(ステップS12−05)、ログイン画面表示処理を開始する。
【0080】
有効/無効チェックの結果ユーザが有効である(ステップS12−01)場合で(Y)、ユーザ情報に前処理部から引き継いだ登録元IDとユーザIDとの組に一致するレコードが存在しない(ステップS12−06)場合(N)、現在ログインしようとしている外部ユーザの情報をユーザ情報に登録する必要があるため、ユーザ情報にレコードを追加する(S12−07)。レコードを追加する際、ユーザ情報の登録元ID(31)、ユーザ名、権限グループ、にはそれぞれ前処理部から引き継いだ登録元ID、ユーザ名、権限グループを設定し、パスワード(34)は空白を設定し、アプリケーション固有情報(36)には、デフォルト値を設定し、有効フラグには“1”を設定する。そして、メッセージM10(“登録元○○のユーザXXを本アプリケーションのユーザとして新規追加しました。ユーザ固有の設定情報などはデフォルト値を設定しています。”)をメッセージダイアログ(102)に表示し(ステップS12−08)、ユーザ情報更新処理、ログイン処理を正常終了し、アプリケーション固有処理部を開始する。なお、○○の部分には、対応する登録元システム名(62)、XXの部分にはユーザIDを表示する。この時点でユーザは本アプリケーションへのログイン成功となる。
【0081】
次に、以下では、有効/無効チェックの結果、ユーザが有効である(ステップS12−01)場合で(Y)、ユーザ情報に前処理部から引き継いだ登録元IDとユーザIDの組に一致するレコードが存在する(ステップS12−06でY)場合の処理を記述する。
ユーザ情報に変更が無い場合(ステップS12−09でN)、すなわち前処理部から引き継いだ情報が、ユーザ情報の内容とそれぞれ一致する場合は、ユーザ情報を更新する必要がないため、ユーザ情報更新処理、ログイン処理を正常終了し、アプリケーション固有処理部を開始する。この時点でユーザは本アプリケーションへのログイン成功となる。ユーザ情報に変更がある(ステップS12−09でY)場合で、ユーザ情報の有効フラグが“0”(ステップS12−10)の場合(Y)、登録元のユーザが有効になっていて、本アプリケーションのユーザ情報の有効フラグが“0”(無効)になっているため、ユーザ情報の有効フラグを“1”に更新する(ステップS12−11)。そして、メッセージM11(“本アプリケーションを再び利用可能になりました。ユーザ固有の設定情報などは以前のものをお使いいただけます。もし本アプリケーションのご利用がはじめての場合は、登録元システム管理者へお問合せください。”)をメッセージダイアログ(102)に表示し(ステップS12−12)、(ステップS12−13)へ処理を続行する。
【0082】
ユーザ情報に変更がある(ステップS12−09でY)場合で、ユーザ情報の有効フラグが“0”(ステップS12−10)でない場合(N)、(ステップS12−13)へ処理を続行する。
【0083】
権限グループに変更がある(ステップS12−13でY)場合、ユーザ情報の権限グループ(35)を前処理部から引き継いだ権限グループで更新し(ステップS12−14)、メッセージM12(“登録元の権限が変更されたため、権限グループを○○から××に更新しました。本システムで利用できる機能やリソース等が制限される場合がございます。登録元の権限が変更されていない場合は本アプリケーションの管理者へお問合せください。”)をメッセージダイアログ(102)に表示し(ステップS12−15)、(ステップS12−16)へ処理を続行する。尚、メッセージM12中の○○には更新前の権限グループを、××には更新後の権限グループをそれぞれ表示する。
権限グループに変更がない(ステップS12−13でN)場合、(ステップS12−16)へ処理を続行する。
【0084】
(ステップS12−16)でユーザ名に変更がある場合(Y)、ユーザ情報のユーザ名(33)を前処理部から引き継いだユーザ名で更新し(ステップS12−17)、メッセージM13(“ユーザ名を○○から××に更新しました。”)をメッセージダイアログ(102)に表示する(ステップS12−18)。尚、メッセージM13中の○○には更新前のユーザ名を、××には更新後のユーザ名をそれぞれ表示する。そしてユーザ情報更新処理、ログイン処理を正常終了し、アプリケーション固有処理部を開始する。この時点でユーザは本アプリケーションへのログイン成功となる。
【0085】
(ステップS12−16)でユーザ名に変更がない場合(N)、ユーザ情報更新処理、ログイン処理を正常終了し、アプリケーション固有処理部を開始する。この時点でユーザは本アプリケーションへのログイン成功となる。
【0086】
図13は、本アプリケーションのログイン部分で用いる表示メッセージ例を示す、メッセージ一覧である。本アプリケーションは、外部システムのユーザを用いてログインできるため、ログイン時のエラーが、本アプリケーション側の設定に起因するものなのか、それとも登録元システムのユーザ情報に起因するものなのかを明確にすることは、エラー発生時のユーザの対応の観点から重要である。本アプリケーションで用いるメッセージは、現象が本アプリケーション側の設定に起因する場合は、(“本アプリケーションの管理者にお問合せください”)という表現を用い、登録元システムのユーザ情報等に起因するものの場合は(“登録元システム管理者へお問合せください”)といった表現を用いて、ログインエラー発生時に、アプリケーションがユーザに問合せ先を知らせることができるようにしている。
【0087】
尚、本実施の形態では、まずユーザIDが各登録元のユーザ管理情報に存在するかどうか確認し、次に認証およびログインに必要な情報をユーザ管理情報から取得し、そして本システム内部で、あらかじめ登録された手順に従い、認証処理をおこなう実装例を示したが、発明はこの実装例に限定されるものではない。
【0088】
以上に説明したように、本発明の実施の形態による外部システムのユーザ情報を利用可能なログイン機能を持つアプリケーションによれば、基幹業務システム等の外部システムの構成を一切変更することなく、かつ、外部システムのユーザ情報を利用してログイン処理(ユーザの認証およびアプリケーションの利用可能機能に関する権限設定)を行う機能をもつアプリケーションを提供することができるという効果がある。
【0089】
尚、本実施の形態による装置及び方法は、上述の図示例にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
また、実施の形態で説明した機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。
【産業上の利用可能性】
【0090】
本発明は、認証装置に利用することができる。
【符号の説明】
【0091】
(100) ユーザ・インタフェース(UI)
(100b) 処理部
(101) ログイン画面
(102) ダイアログ
(107) 通信インターフェイス
(110) プログラム
(111) ログイン処理部
(117) アプリケーション固有処理部
(119) 通信インターフェイス
(118) ローカルユーザメンテナンス処理部
(120) アプリケーションデータ
(130) 基幹業務システムA
(140) 基幹情報系システムB
(151) クライアントPC
(152) ローカルサーバ
【特許請求の範囲】
【請求項1】
アプリケーションプログラムに対するログイン処理を行うログイン処理部と、前記アプリケーションプログラムが使用するアプリケーションデータベースと、を含むログイン処理装置であって、
前記アプリケーションデータベースは、前記アプリケーションプログラム内での利用権限の組み合わせを、ユーザを特定するユーザIDと、ユーザ毎に使える機能、アクセスできるリソースに対して一定の権限をセットで付与する権限グループとして定義した権限グループ情報を登録する権限グループ情報データベースと、前記ログイン処理サーバ装置と接続され、ユーザ管理情報を保持し前記サーバ装置とは独立したユーザ管理を行っている外部システムから取得したユーザ管理情報を前記アプリケーションプログラムで利用できる形に変換したユーザ情報を登録するユーザ情報データベースと、外部システムとの接続方法・認証方法を定義した接続・認証方法情報データベースと、外部システムから取得したユーザ管理情報のうち権限に関する項目を前記権限グループとマッピングするための権限変換情報を有し、前記ログイン処理部は、ユーザ端末のログイン画面表示を制御するログイン画面処理部と、前記接続・認証方法情報に基づいて前記外部システムから前記ユーザ管理情報を取得するユーザ情報取得部と、取得した前記ユーザ管理情報を前記アプリケーションプログラム内部のユーザ管理情報の形式に変換するユーザ情報変換処理部と、を有することを特徴とするログイン処理装置。
【請求項2】
前記ユーザ情報は、少なくとも、前記ユーザ情報が登録されている登録元システムを特定する登録元IDと、前記権限グループと、を有し、前記登録元IDと前記ユーザIDとの組み合わせによって1つのユーザ情報が一意に特定される情報であり、
前記ユーザ情報変換処理部は、登録元の前記ユーザ管理情報から取得した登録元権限情報を、前記権限変換情報を用いて前記サーバ装置の権限グループに変換する権限情報変換処理を実行することを特徴とする請求項1に記載のログイン処理装置。
【請求項3】
前記ユーザ情報変換処理部は、前記権限変換情報において、前記登録元IDが前記ユーザの登録元IDと一致し、かつ、前記登録元権限情報が取得した取得データ項目の権限と一致するレコードの権限グループを、前記ユーザ情報の権限グループを更新するため情報として更新前に取得することを特徴とする請求項2に記載のログイン処理装置。
【請求項4】
前記ユーザ情報変換処理部は、
ユーザの有効/無効チェックでは、前記接続・認証方法情報から該当する登録元IDの有効確認方法を取得し、その方法に基づいてユーザの有効/無効チェックを行うことを特徴とする請求項3に記載のログイン処理装置。
【請求項5】
前記有効/無効チェックに成功した場合は、前記登録元ID、前記登録元から取得した前記ユーザIDと前記変換した権限グループ、有効/無効チェックの結果に基づいてユーザ情報の更新を行うユーザ情報更新処理部を有することを特徴とする請求項4に記載のログイン処理装置。
【請求項6】
さらに、ローカルユーザを作成するアプリケーション固有処理部と、前記ローカルユーザの作成・更新・削除を含むメンテナンス処理を行うローカルユーザメンテナンス処理部と、を有することを特徴とする請求項1から5までのいずれか1項に記載のログイン処理装置。
【請求項7】
前記ログイン処理部は、
前記ユーザ端末のログイン画面表示を制御するログイン画面処理部を有し、ユーザによって入力された、ユーザID、パスワード、ドロップダウンリストで選択された登録元名に対応する登録元IDの情報を取得し、取得したユーザIDが空白でなければ、ログイン画面処理を終了し、ユーザから入力されたユーザID、パスワード、および、登録元IDを次のユーザ情報取得処理部に引継ぎ、ログイン画面処理を正常終了することを特徴とする請求項1から6までのいずれか1項に記載のログイン処理装置。
【請求項8】
前記外部システムが複数の場合に、前記ログイン画面表示において、ログイン画面の登録元に登録元IDに対応する登録元システム名をドロップダウンリストの項目として設定し、ログイン画面を表示させることを特徴とする請求項7に記載のログイン処理装置。
【請求項9】
さらに、ユーザ認証を行う認証処理部を有し、
ユーザから入力されたパスワード、登録元ID、および登録元から取得した取得データ項目の全てを前処理であるユーザ情報取得部から引き継いでおり、
前記認証処理部は、入力されたパスワードと、登録元から取得したパスワードとに基づいて、ユーザ認証を行うことを特徴とする請求項1から11までのいずれか1項に記載のログイン処理装置。
【請求項10】
アプリケーションプログラムに対するログイン処理を行うログイン処理部と、前記アプリケーションプログラムが使用するアプリケーションデータベースと、を含むログイン処理装置であって、前記アプリケーションデータベースは、前記サーバ装置のアプリケーション内での利用権限の組み合わせを、ユーザ端末を特定するユーザIDと、前記ログイン装置においては、ユーザ毎に使える機能、アクセスできるリソースに対して一定の権限をセットで付与する権限グループとして定義した権限グループ情報を登録する権限グループ情報データベースと、前記サーバ装置と接続され、ユーザ管理情報を保持し前記サーバ装置とは独立したユーザ管理を行っている外部システムから取得したユーザ管理情報を前記サーバ装置で利用できる形に変換したユーザ情報を登録するユーザ情報データベースと、外部システムとの接続方法・認証方法を定義した接続・認証方法情報データベースと、外部システムから取得したユーザ管理情報のうち権限に関する項目を前記権限グループとマッピングするための権限変換情報を有するログイン処理装置におけるログイン処理方法であって、
ユーザ端末のログイン画面表示からの入力と、前記接続・認証方法情報と、に基づいて、前記外部システムから前記ユーザ管理情報を取得するユーザ情報取得ステップと、
取得した前記ユーザ管理情報を前記サーバ装置内部のユーザ管理情報の形式に変換するユーザ情報変換処理ステップと、を有することを特徴とするログイン処理方法。
【請求項11】
前記ユーザ情報は、少なくとも、前記ユーザ情報が登録されている登録元システムを特定する登録元IDと、前記権限グループと、を有し、前記登録元IDと前記ユーザIDとの組み合わせによって1つのユーザ情報が一意に特定される情報であり、
前記ユーザ情報変換処理ステップは、登録元の前記ユーザ管理情報から取得した登録元権限情報を、前記権限変換情報を用いて前記サーバ装置の権限グループに変換する権限情報変換処理を実行するステップを有することを特徴とする請求項10に記載のログイン処理方法。
【請求項12】
前記ユーザ情報変換処理ステップは、前記権限変換情報において、前記登録元IDが前記ユーザの登録元IDと一致し、かつ、前記登録元権限情報が取得した取得データ項目の権限と一致するレコードの権限グループを、前記ユーザ情報の権限グループを更新するため情報として更新前に取得するステップを有することを特徴とする請求項11に記載のログイン処理方法。
【請求項13】
コンピュータに、請求項10から12までのいずれか1項に記載の方法をログイン処理装置に実行させるためのログイン処理プログラム。
【請求項1】
アプリケーションプログラムに対するログイン処理を行うログイン処理部と、前記アプリケーションプログラムが使用するアプリケーションデータベースと、を含むログイン処理装置であって、
前記アプリケーションデータベースは、前記アプリケーションプログラム内での利用権限の組み合わせを、ユーザを特定するユーザIDと、ユーザ毎に使える機能、アクセスできるリソースに対して一定の権限をセットで付与する権限グループとして定義した権限グループ情報を登録する権限グループ情報データベースと、前記ログイン処理サーバ装置と接続され、ユーザ管理情報を保持し前記サーバ装置とは独立したユーザ管理を行っている外部システムから取得したユーザ管理情報を前記アプリケーションプログラムで利用できる形に変換したユーザ情報を登録するユーザ情報データベースと、外部システムとの接続方法・認証方法を定義した接続・認証方法情報データベースと、外部システムから取得したユーザ管理情報のうち権限に関する項目を前記権限グループとマッピングするための権限変換情報を有し、前記ログイン処理部は、ユーザ端末のログイン画面表示を制御するログイン画面処理部と、前記接続・認証方法情報に基づいて前記外部システムから前記ユーザ管理情報を取得するユーザ情報取得部と、取得した前記ユーザ管理情報を前記アプリケーションプログラム内部のユーザ管理情報の形式に変換するユーザ情報変換処理部と、を有することを特徴とするログイン処理装置。
【請求項2】
前記ユーザ情報は、少なくとも、前記ユーザ情報が登録されている登録元システムを特定する登録元IDと、前記権限グループと、を有し、前記登録元IDと前記ユーザIDとの組み合わせによって1つのユーザ情報が一意に特定される情報であり、
前記ユーザ情報変換処理部は、登録元の前記ユーザ管理情報から取得した登録元権限情報を、前記権限変換情報を用いて前記サーバ装置の権限グループに変換する権限情報変換処理を実行することを特徴とする請求項1に記載のログイン処理装置。
【請求項3】
前記ユーザ情報変換処理部は、前記権限変換情報において、前記登録元IDが前記ユーザの登録元IDと一致し、かつ、前記登録元権限情報が取得した取得データ項目の権限と一致するレコードの権限グループを、前記ユーザ情報の権限グループを更新するため情報として更新前に取得することを特徴とする請求項2に記載のログイン処理装置。
【請求項4】
前記ユーザ情報変換処理部は、
ユーザの有効/無効チェックでは、前記接続・認証方法情報から該当する登録元IDの有効確認方法を取得し、その方法に基づいてユーザの有効/無効チェックを行うことを特徴とする請求項3に記載のログイン処理装置。
【請求項5】
前記有効/無効チェックに成功した場合は、前記登録元ID、前記登録元から取得した前記ユーザIDと前記変換した権限グループ、有効/無効チェックの結果に基づいてユーザ情報の更新を行うユーザ情報更新処理部を有することを特徴とする請求項4に記載のログイン処理装置。
【請求項6】
さらに、ローカルユーザを作成するアプリケーション固有処理部と、前記ローカルユーザの作成・更新・削除を含むメンテナンス処理を行うローカルユーザメンテナンス処理部と、を有することを特徴とする請求項1から5までのいずれか1項に記載のログイン処理装置。
【請求項7】
前記ログイン処理部は、
前記ユーザ端末のログイン画面表示を制御するログイン画面処理部を有し、ユーザによって入力された、ユーザID、パスワード、ドロップダウンリストで選択された登録元名に対応する登録元IDの情報を取得し、取得したユーザIDが空白でなければ、ログイン画面処理を終了し、ユーザから入力されたユーザID、パスワード、および、登録元IDを次のユーザ情報取得処理部に引継ぎ、ログイン画面処理を正常終了することを特徴とする請求項1から6までのいずれか1項に記載のログイン処理装置。
【請求項8】
前記外部システムが複数の場合に、前記ログイン画面表示において、ログイン画面の登録元に登録元IDに対応する登録元システム名をドロップダウンリストの項目として設定し、ログイン画面を表示させることを特徴とする請求項7に記載のログイン処理装置。
【請求項9】
さらに、ユーザ認証を行う認証処理部を有し、
ユーザから入力されたパスワード、登録元ID、および登録元から取得した取得データ項目の全てを前処理であるユーザ情報取得部から引き継いでおり、
前記認証処理部は、入力されたパスワードと、登録元から取得したパスワードとに基づいて、ユーザ認証を行うことを特徴とする請求項1から11までのいずれか1項に記載のログイン処理装置。
【請求項10】
アプリケーションプログラムに対するログイン処理を行うログイン処理部と、前記アプリケーションプログラムが使用するアプリケーションデータベースと、を含むログイン処理装置であって、前記アプリケーションデータベースは、前記サーバ装置のアプリケーション内での利用権限の組み合わせを、ユーザ端末を特定するユーザIDと、前記ログイン装置においては、ユーザ毎に使える機能、アクセスできるリソースに対して一定の権限をセットで付与する権限グループとして定義した権限グループ情報を登録する権限グループ情報データベースと、前記サーバ装置と接続され、ユーザ管理情報を保持し前記サーバ装置とは独立したユーザ管理を行っている外部システムから取得したユーザ管理情報を前記サーバ装置で利用できる形に変換したユーザ情報を登録するユーザ情報データベースと、外部システムとの接続方法・認証方法を定義した接続・認証方法情報データベースと、外部システムから取得したユーザ管理情報のうち権限に関する項目を前記権限グループとマッピングするための権限変換情報を有するログイン処理装置におけるログイン処理方法であって、
ユーザ端末のログイン画面表示からの入力と、前記接続・認証方法情報と、に基づいて、前記外部システムから前記ユーザ管理情報を取得するユーザ情報取得ステップと、
取得した前記ユーザ管理情報を前記サーバ装置内部のユーザ管理情報の形式に変換するユーザ情報変換処理ステップと、を有することを特徴とするログイン処理方法。
【請求項11】
前記ユーザ情報は、少なくとも、前記ユーザ情報が登録されている登録元システムを特定する登録元IDと、前記権限グループと、を有し、前記登録元IDと前記ユーザIDとの組み合わせによって1つのユーザ情報が一意に特定される情報であり、
前記ユーザ情報変換処理ステップは、登録元の前記ユーザ管理情報から取得した登録元権限情報を、前記権限変換情報を用いて前記サーバ装置の権限グループに変換する権限情報変換処理を実行するステップを有することを特徴とする請求項10に記載のログイン処理方法。
【請求項12】
前記ユーザ情報変換処理ステップは、前記権限変換情報において、前記登録元IDが前記ユーザの登録元IDと一致し、かつ、前記登録元権限情報が取得した取得データ項目の権限と一致するレコードの権限グループを、前記ユーザ情報の権限グループを更新するため情報として更新前に取得するステップを有することを特徴とする請求項11に記載のログイン処理方法。
【請求項13】
コンピュータに、請求項10から12までのいずれか1項に記載の方法をログイン処理装置に実行させるためのログイン処理プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2010−237898(P2010−237898A)
【公開日】平成22年10月21日(2010.10.21)
【国際特許分類】
【出願番号】特願2009−84071(P2009−84071)
【出願日】平成21年3月31日(2009.3.31)
【出願人】(000233055)日立ソフトウエアエンジニアリング株式会社 (1,610)
【Fターム(参考)】
【公開日】平成22年10月21日(2010.10.21)
【国際特許分類】
【出願日】平成21年3月31日(2009.3.31)
【出願人】(000233055)日立ソフトウエアエンジニアリング株式会社 (1,610)
【Fターム(参考)】
[ Back to top ]