以下、情報処理システム等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、管理者の権限を管理する管理者権限情報記憶部、一般ユーザの権限を管理する一般ユーザ情報記憶部が分離されており、高速に管理者の権限を検査することができる情報処理システムについて説明する。また、ここでは、一般ユーザの権限は、デフォルトの低い権限のみ与えられている。また、本実施の形態において、権限はメニューに対して設定される例について説明する。さらに、低い権限とは、行えることが少ない、という権限である。
図1は、本実施の形態における情報処理システムの概念図である。情報処理システムは、情報処理装置1、1以上の情報端末2を具備する。ここでは、情報処理装置1は、権限管理の下、適切なユーザに適切な処理を実行可能とするサーバ装置である。情報端末2は、各ユーザが利用する端末装置である。情報処理装置1と1以上の情報端末2は、インターネット、LAN等のネットワーク4により、相互に通信可能である、とする。
図2は、本実施の形態における情報処理システムのブロック図である。
情報処理装置1は、管理者権限情報記憶部101、一般ユーザ情報記憶部102、メニュー情報格納部103、画面情報格納部104、メニュー権限情報格納部105、ユーザ識別子受付部106、入力受付部107、出力部108、権限情報取得部109、入出力制御部110、画面構成部111を具備する。
情報端末2は、端末受付部201、端末送信部202、端末受信部203、端末出力部204を具備する。
管理者権限情報記憶部101は、管理者権限情報を1以上格納し得る。管理者権限情報は、管理者を識別する管理者識別子と、当該管理者に許可される権限を示す情報である権限情報を有する。ここで、管理者とは、システムの管理者、アプリケーションや装置の運用のための管理者、業務の管理者等、一般ユーザとは異なる権限を与えられている者である。管理者権限情報とは、通常、管理者識別子、権限情報を含む情報である。管理者権限情報は、利用可能なメニュー、または利用できないメニューを識別する情報であることは好適である。ここで、メニューとは、選択され得る項目、入力対象の部品(フィールド、ボタンなど)を1以上有するユーザインターフェイスである。メニューとは、例えば、メニュー項目の集合、タブなどである。権限情報は、2進数の数値であることは好適である。また、権限情報は、2種類以上あることは好適である。権限情報は、2以上の各メニュー識別子に対応する異なる2進数の桁のビット値の和であり、各桁は、各メニュー識別子に対応するメニューの操作の制限、またはメニューの出力の制限に応じて、「0」または「1」の値が採り得る2進数の数値であることは好適である。権限情報は、例えば、システム管理者と業務管理者を区別する情報などである。管理者権限情報記憶部101は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
一般ユーザ情報記憶部102は、一般ユーザを識別する情報である一般ユーザ識別子を有する一般ユーザ情報を1以上格納し得る。一般ユーザ情報記憶部102は、管理者権限情報記憶部101とは異なる記憶領域または異なる記憶媒体に存在する記憶領域である。一般ユーザ情報とは、通常、一般ユーザ識別子、パスワードを含む。一般ユーザは、通常、管理者を含む。つまり、通常、一般ユーザ情報記憶部102に全ユーザの情報が存在し、管理者権限情報記憶部101には管理者の情報のみが存在する。なお、かかる場合、一の管理者に属するユーザに対して付与される管理者識別子と一般ユーザ識別子は同じでも良いし、異なっていても良い。一般ユーザ情報も、管理者権限情報と同様に、一般ユーザが許可される権限や許可されない権限を示す一般ユーザ権限情報を有しても良い。なお、管理者と一般ユーザとは、全く別の者であるとし、管理者権限情報記憶部101の情報と一般ユーザ情報記憶部102の情報に重なりが無いものとして運用しても良い。また、管理者識別子と一般ユーザ識別子は同様の構造であっても良いことは言うまでもない。一般ユーザ情報記憶部102は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
メニュー情報格納部103は、メニュー情報を1以上格納している。ここで、メニュー情報とは、アプリケーションを構成するメニューを識別するメニュー識別子と、当該メニューを定義するメニュー定義情報を有する。メニュー定義情報は、メニューを構成するための情報であり、例えば、HTMLやXMLや、いわゆる4GL等により記述されている。なお、メニュー定義情報の定義方法は問わない。また、メニュー情報は、後述する画面情報や、プログラムを含む概念として捕らえても良い。メニュー情報に画面情報が含まれる場合、画面情報格納部104は、不要である。メニュー情報格納部103は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
画面情報格納部104は、画面情報を1以上格納している。画面情報は、画面を定義している情報である。この画面は、情報端末2に出力される画面である。画面情報は、例えば、HTMLやXMLや、いわゆる4GL等により記述されている。なお、画面情報の定義方法は問わない。画面情報により構成される画面は、例えば、メニュー項目が選択された場合に、出力される画面である。画面情報格納部104は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
メニュー権限情報格納部105は、メニュー権限情報を格納している。メニュー権限情報は、メニュー権限値とメニュー識別子を有する。メニュー権限値とは、メニュー識別子で識別されるメニューに対する操作の可否、またはメニューの出力の可否を示す情報である。メニューに対する操作とは、メニュー項目を選択する操作、メニュー項目を選択して、対応する画面を出力させる操作、メニュー項目に対応する画面にデータを入力したり、出力したりする操作、メニュー項目に対応するプログラム(実行ファイル)の実行なども含む。メニュー権限情報格納部105は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
ユーザ識別子受付部106は、ユーザを識別する情報であるユーザ識別子を受け付ける。ここでの「受け付け」とは、通常、情報端末2からの受信であるが、ユーザからの入力受け付けでも良い。ユーザ識別子受付部106は、ユーザ識別子とパスワードを受け付けても良い。ユーザ識別子受付部106は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
入力受付部107は、情報の入力を受け付ける。ここでの「受け付け」とは、通常、情報端末2からの受信であるが、ユーザからの入力受け付けでも良い。入力受付部107が受け付ける情報とは、各種の指示や、各種のデータ等である。入力受付部107は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
出力部108は、入力受付部107が受け付けた情報を出力する。出力部108は、入力受付部107が受け付けた情報に対して、図示しない処理手段が処理をした結果である処理結果を出力しても良い。また、出力部108は、後述する各種の画面を出力しても良い。なお、画面も、上記の処理結果と言える。ここで、出力とは、通常、情報端末2への送信であるが、ディスプレイへの表示、プリンタへの印字、音出力等を含む概念である。出力部108は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
権限情報取得部109は、ユーザ識別子受付部106が受け付けたユーザ識別子が、管理者権限情報記憶部101に格納されている管理者識別子と一定の関係があるか否かを検査し、ユーザ識別子が管理者権限情報記憶部101に格納されている管理者識別子と一定の関係がある場合に、当該管理者識別子と対になる管理者権限情報を、管理者権限情報記憶部101から取得する。権限情報取得部109は、ユーザ識別子受付部106が受け付けたユーザ識別子が、管理者権限情報記憶部101に格納されている管理者識別子と一定の関係があるか否かを検査し、ユーザ識別子が管理者権限情報記憶部101に格納されている管理者識別子と一定の関係がない場合に、一般ユーザ情報記憶部102に管理されている一般ユーザ識別子と一定の関係があるか否かを検査し、一定の関係がある場合、一般ユーザのデフォルトの権限情報を取得する。デフォルトの権限情報は、例えば、権限情報取得部109が予め保持している。一定の関係とは、「一致」「含まれる」「大きい」「小さい」など、予め決められた関係である。権限情報取得部109は、通常、MPUやメモリ等から実現され得る。権限情報取得部109の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
入出力制御部110は、権限情報取得部109が取得した管理者権限情報を用いて、情報の入力の制限、または情報の出力の制限を行う。情報の入力の制限、または情報の出力の制限とは、例えば、メニューに対する操作の制限、またはメニューの出力の制限である。情報の入力の制限、または情報の出力の制限とは、結果的に、情報入力の制限または情報出力の制限が行われれば良い。また、情報の入力の制限、または情報の出力の制限には、プログラムの実行の制限も含まれる。入出力制御部110は、具体的には、操作対象または出力対象のメニューのメニュー識別子と対になるメニュー権限値を、メニュー権限情報格納部105から取得し、当該メニュー権限値と、管理者権限情報とを用いて、操作対象のメニューに対する操作の制限、または操作対象のメニューの出力の制限を行う、ことは好適である。入出力制御部110は、通常、ユーザが一般ユーザである場合、予め決められた一定の作業のみを行えるように、入力等の制限を行う。「管理者権限情報を用いて、制限を行う」とは、「一般ユーザの場合は、設定されているデフォルトの作業しかできないようにする」ことも含む、と考えても良い。また、「入力の制限を行う」とは、例えば、入力させない、入力された情報を無視する、などである。「入力の制限」とは、管理者権限情報を用いて、入力させることも含む趣旨である。また、出力とは、ディスプレイへの表示、プリンタへの印字、音出力、外部の装置への送信等を含む概念である。入出力制御部110は、通常、MPUやメモリ等から実現され得る。入出力制御部110の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
画面構成部111は、画面情報格納部104に格納されている画面情報を用いて、画面を構成する。画面情報を用いて画面を構成する技術は公知技術であるので、詳細な説明を省略する。画面構成部111は、例えば、いわゆるWebブラウザにより実現できる。画面構成部111は、通常、MPUやメモリ等から実現され得る。画面構成部111の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
端末受付部201は、ユーザからの入力を受け付ける。入力とは、例えば、ユーザ識別子、パスワード、メニュー選択指示(メニュー項目の選択指示)、画面に対するデータの入力、起動指示、終了指示などの各種のデータの入力や、各種の指示の入力などである。各種のデータや各種のデータの入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。端末受付部201は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
端末送信部202は、端末受付部201が受け付けた入力を、情報処理装置1に送信する。端末送信部202は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
端末受信部203は、情報処理装置1から送信された情報を受信する。ここで、「送信された情報」とは、例えば、メニューや画面などのユーザインターフェイス、情報処理装置1における処理結果などである。端末受信部203は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
端末出力部204は、端末受信部203が受信した情報を出力する。ここで、出力とは、ディスプレイへの表示、プリンタへの印字、音出力、外部の装置への送信等を含む概念である。端末出力部204は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。端末出力部204は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、情報処理システムの動作について説明する。まず、情報処理装置1の動作について図3のフローチャートを用いて説明する。
(ステップS301)入力受付部107またはユーザ識別子受付部106は、情報端末2からの入力を受け付けたか否かを判断する。入力を受け付ければステップS302に行き、入力を受け付けなければステップS301に戻る。
(ステップS302)入力受付部107は、ステップS301で受け付けた入力が起動指示であるか否かを判断する。起動指示であればステップS303に行き、起動指示でなければステップS305に行く。
(ステップS303)画面構成部111は、起動画面情報を画面情報格納部104から読み出し、当該起動画面情報を用いて、起動画面を構成する。起動画面とは、例えば、ユーザ識別子、パスワードの入力をユーザに促す画面である。また、起動画面とは、例えば、操作のためのトップ画面である。
(ステップS304)出力部108は、ステップS303で構成した起動画面を情報端末2に送信する。ステップS301に戻る。
(ステップS305)ユーザ識別子受付部106は、ステップS301で受け付けた入力がユーザ識別子等であるか否かを判断する。ユーザ識別子等であればステップS306に行き、ユーザ識別子等でなければステップS315に行く。ユーザ識別子等とは、例えば、ユーザ識別子とパスワードである。また、ユーザ識別子等とは、例えば、ユーザ識別子のみである。なお、ユーザ識別子等がユーザ識別子とパスワードである場合、図示しない認証手段により、認証処理が行われることは好適である。認証処理については、公知技術であるので詳細な説明を省略する。
(ステップS306)権限情報取得部109は、受け付けたユーザ識別子を用いて、管理者権限情報記憶部101を検索に行く。
(ステップS307)権限情報取得部109は、受け付けたユーザ識別子と、管理者権限情報記憶部101に管理されている管理者識別子が一定の関係を有するか否か(通常、一致するか否か)を判断する。一定の関係があればステップS308に行き、一定の関係が無ければステップS310に行く。
(ステップS308)権限情報取得部109は、ステップS307で一定の関係があるとされた管理者識別子を有する管理者権限情報を読み出す。
(ステップS309)権限情報取得部109は、ステップS308で読み出した管理者権限情報を、メモリ上に一時格納する。ステップS301に戻る。
(ステップS310)権限情報取得部109は、受け付けたユーザ識別子を用いて、一般ユーザ情報記憶部102を検索に行く。
(ステップS311)権限情報取得部109は、受け付けたユーザ識別子と、一般ユーザ情報記憶部102に管理されている一般ユーザ識別子が一定の関係を有するか否か(通常、一致するか否か)を判断する。一定の関係があればステップS312に行き、一定の関係が無ければステップS314に行く。
(ステップS312)権限情報取得部109は、デフォルトの権限情報を読み出す。
(ステップS313)権限情報取得部109は、ステップS312で読み出したデフォルトの権限情報を、メモリ上に一時格納する。ステップS301に戻る。
(ステップS314)出力部108は、エラーの出力を行う。ステップS301に戻る。なお、ここでのエラーの出力は、例えば、入力されたユーザ識別子の認証に失敗した旨のエラーメッセージの出力である。
(ステップS315)入力処理が行われる。ステップS301に戻る。なお、入力処理とは、受け付けた入力が起動指示でもユーザ識別子等でもない場合の処理である。入力処理について、図4のフローチャートを用いて詳細に説明する。
なお、図3のフローチャートにおいて、一般ユーザの場合、デフォルトの権限情報を一時蓄積したが、デフォルトの権限情報は一時蓄積しなくても良い。かかる場合、所定のメモリ領域に権限情報が蓄積されていない場合、そのユーザは一般ユーザである、と判断され得る。
また、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、ステップS315の入力処理について、図4のフローチャートを用いて詳細に説明する。
(ステップS401)入力受付部107は、図3のステップS301で受け付けた入力がメニュー選択指示であるか否かを判断する。メニュー選択指示であればステップS402に行き、メニュー選択指示でなければステップS410に行く。
(ステップS402)入出力制御部110は、メモリ上の権限情報を取得する。
(ステップS403)入出力制御部110は、メニュー権限情報格納部105からメニュー権限情報を読み出す。
(ステップS404)入出力制御部110は、ステップS402で取得した権限情報と、メニュー権限情報を用いて、メニュー選択指示されたメニューに対して権限があるか否かをチェックする。
(ステップS405)入出力制御部110は、ステップS404におけるチェックの結果、権限があればステップS406に行き、権限がなければステップS409に行く。
(ステップS406)画面構成部111は、メニュー選択指示されたメニューに対応する画面情報を画面情報格納部104から読み出す。
(ステップS407)画面構成部111は、ステップS406で読み出した画面情報を用いて、画面を構成する。
(ステップS408)出力部108は、ステップS406で構成した画面を出力する。上位処理にリターンする。
(ステップS409)画面構成部111は、エラーの画面を構成する。ステップS408に行く。なお、エラーの画面とは、例えば、本ユーザが、メニュー選択指示されたメニューに対して操作する権限が無いことを示すエラーメッセージを表示する画面である。
(ステップS410)入力受付部107は、図3のステップS301で受け付けた入力が、処理対象のデータであるか否かを判断する。データであればステップS411に行き、データでなければ上位処理にリターンする。
(ステップS411)図示しない処理手段が、受け付けたデータを処理する。ここでの処理とは、例えば、受け付けたデータをデータベースに蓄積する処理や、受け付けたデータに対して、何らかの演算を施す処理等、何でも良い。
(ステップS412)出力部108は、ステップS411における処理結果を出力する。上位処理にリターンする。
なお、図4のフローチャートにおいて、ステップS407で画面を構成し、ステップS408で画面を出力した。この画面の出力とは、画面の画像でなくても良く、例えば、最終的にディスプレイに表示される画面を作り出すための元になる情報でも良い。かかる場合、情報端末2は、画面を作り出すための元になる情報を解釈することにより画面を出力する。
次に、情報端末2の動作について説明する。情報端末2の端末受付部201は、ユーザから指示またはデータ等の入力を受け付ける。そして、情報端末2の端末送信部202は、端末受付部201が受け付けた入力を、情報処理装置1に送信する。そして、かかる送信に対応して、情報端末2の端末受信部203は、情報処理装置1から画面や処理結果等を受信する。そして、端末出力部204は、画面や処理結果等を出力する。
以下、本実施の形態における情報処理システムの具体的な動作について説明する。情報処理システムの概念図は図1である。
今、管理者権限情報記憶部101は、図5に示す管理者権限情報管理表を保持している。管理者権限情報管理表は、「ID」「管理者権限情報」の属性を有する。「ID」は、レコードを識別する情報であり、表管理のために必要な属性である。「管理者権限情報」は、「管理者識別子」「権限情報」「パスワード」を有する。「管理者識別子」は、ここでは管理者名であるが、管理者のID(数値)でも良い。「権限情報」の属性値は、ここでは、2進数の数値である。この2進数の数値の各桁は、各メニュー識別子に対応するメニューに対応している。そして、2進数の数値の各桁の値(「0」または「1」の値が採り得る)は、対応するメニューの操作または/および出力が可能であるか否かを示す。ここでは、ビット値が「1」の場合、対応するメニューの操作または/および出力が可能であること示す。つまり、「権限情報」の属性値は、各メニュー識別子に対応する異なる2進数の桁のビット値の和であり、各桁は、各メニュー識別子に対応するメニューの操作の制限、またはメニューの出力の制限に応じて、「0」または「1」の値が採り得る2進数の数値を採り得る。「パスワード」は、「管理者識別子」と対応付けられ、ログインの際の認証に用いられる。ただし、認証処理は公知技術であるので、以下で、詳細には説明しない。
また、一般ユーザ情報記憶部102は、図6に示す一般ユーザ情報管理表を保持している。一般ユーザ情報管理表は、「ID」「一般ユーザ情報」の属性を有する。「ID」は、レコードを識別する情報であり、表管理のために必要な属性である。「一般ユーザ情報」は、「ユーザ識別子」「パスワード」を有する。「ユーザ識別子」は、ここではユーザ名であるが、ユーザのID(数値)でも良い。「パスワード」は、「ユーザ識別子」と対応付けられ、ログインの際の認証に用いられる。
また、メニュー情報格納部103は、例えば、図7に示すメニュー情報を格納している。図7のメニュー情報は、6つのボタン(メニュー項目)を有するパネルを表示するための情報である。また、図7のメニュー情報は、HTML形式で記載されているが、その形式は問わないことは言うまでもない。また、図7のメニュー情報が有するボタンが押下された場合、ボタンに対応する画面が表示される(画面にジャンプする)こととする。そのボタン押下時の動作処理について、図7には記載していないが、かかる記述、動作は公知技術である。
また、画面情報格納部104は、図8に示すような複数の画面情報を格納している。図8の画面情報は、出力された場合のイメージを用いて記載されているが、HTMLやXMLなどのスクリプトで記述されていても良いことは言うまでもない。つまり、画面情報の記述方法は問わない。
また、メニュー権限情報格納部105は、図9に示すメニュー権限情報管理表を保持している。メニュー権限情報管理表は、「ID」「メニュー権限情報」の属性を有する。「ID」は、レコードを識別する情報であり、表管理のために必要な属性である。「メニュー権限情報」は、「メニュー識別子」「メニュー権限値」を有する。「メニュー識別子」は、ここではメニュー名であるが、メニューのID(数値)でも良い。「メニュー権限値」は、ここでは6ビットであり、対応するメニュー(メニュー識別子で識別されるメニュー)の操作等の制限(操作等が可能か否か)が、2進数のどの桁に対応するかを示す。なお、図9に示すメニュー権限情報管理表によれば、「ID=1」のレコードにおいて、「ログ管理(監視処理)」のメニューは、2進数の6桁目の値により、操作等が可能であるか不可能であるかが判断されることを示す。なお、「メニュー権限値」は、メニューを識別する数値(2進数の対応する桁数など)等でも良い。「メニュー権限値」が2進数の対応する桁数である場合、メニュー識別子「ログ管理(監視処理)」に対応するメニュー権限値は「6」、メニュー識別子「利用者/組織管理」に対応するメニュー権限値は「5」となる。かかる場合、複数のメニューが操作可能である場合、権限情報は、「5,6」のように、複数のメニュー権限値を列挙した情報となり得る。
かかる状況において、以下の3つの具体例について説明する。
(具体例1)
具体例1は、ユーザを識別するユーザIDが、管理者権限情報記憶部101にも、一般ユーザ情報記憶部102にも管理されていない場合である。
今、ユーザ「aoki」さんが、自分の情報端末2から、アプリケーション「総合ERPシステム」を起動させようとした。そして、例えば、ユーザ「aoki」さんが、アプリケーション「総合ERPシステム」のアイコンをダブルプリックした。そして、ユーザIDとパスワードを入力する画面が表示される。次に、ユーザ「aoki」さんが、ユーザID「aoki」、パスワード「1008」を入力する。次に、情報端末2の端末受付部201は、ユーザID「aoki」、パスワード「1008」を受け付ける。そして、端末送信部202は、ユーザID「aoki」、パスワード「1008」を情報処理装置1に送信する。
次に、情報処理装置1のユーザ識別子受付部106は、ユーザID「aoki」、パスワード「1008」を受け付ける。そして、まず、権限情報取得部109は、受け付けたユーザ識別子を用いて、管理者権限情報記憶部101の管理者権限情報管理表を検索に行く。そこで、権限情報取得部109は、ユーザID「aoki」と一致する管理者識別子が存在しないことを検出する。
次に、権限情報取得部109は、ユーザID「aoki」を用いて、一般ユーザ情報記憶部102の一般ユーザ情報管理表を検索に行く。ここで、権限情報取得部109は、ユーザID「aoki」と一致するユーザ識別子が存在しないと判断する。そして、出力部108は、認証エラーのメッセージを情報端末2に送信する。情報端末2の端末受信部203は、認証エラーのメッセージを受信し、端末出力部204は、認証エラーのメッセージを出力する。
(具体例2)
具体例2は、ユーザを識別するユーザIDが、管理者権限情報記憶部101に管理されている場合である。
今、ユーザ「yamada」さんが、自分の情報端末2から、アプリケーション「総合ERPシステム」を起動させようとした。そして、例えば、ユーザ「yamada」さんが、アプリケーション「総合ERPシステム」のアイコンをダブルプリックした。そして、ユーザIDとパスワードを入力する画面が表示される。次に、ユーザ「yamada」さんが、ユーザID「yamada」、パスワード「0928」を入力する。次に、情報端末2の端末受付部201は、ユーザID「yamada」、パスワード「0928」を受け付ける。そして、端末送信部202は、ユーザID「yamada」、パスワード「0928」を情報処理装置1に送信する。
次に、情報処理装置1のユーザ識別子受付部106は、ユーザID「yamada」、パスワード「0928」を受け付ける。そして、まず、権限情報取得部109は、受け付けたユーザ識別子を用いて、管理者権限情報記憶部101の管理者権限情報管理表を検索に行く。そこで、権限情報取得部109は、ユーザID「yamada」と一致する管理者識別子を有する管理者権限情報(図5の「ID=1」の管理者権限情報)を読み出す。そして、権限情報取得部109は、読み出した管理者権限情報(図5の「ID=1」の管理者権限情報)を、メモリ上に一時格納する。なお、メモリ上の管理者権限情報は、権限情報「001111」を含む。また、ここで、権限情報取得部109が読み出し、メモリ上に配置する情報は、権限情報「001111」だけでも良い。
そして、画面構成部111は、トップ画面を構成するため、メニュー情報格納部103からメニュー情報(図7参照)を読み出し、画面を構成する。そして、出力部108は、図10の画面を、情報端末2に送信する。そして、情報端末2は、図10の画面を受信し、出力する。なお、図10の出力において、ユーザ「yamada」さんが操作等できないメニュー項目「ログ管理(監視処理)」「利用者/組織管理」の形態を非表示にしたり、グレーアウトしたりするなど、他のメニュー項目と視覚的に区別して表示されることは好適である。なお、操作できないボタンやメニュー項目をクレーアウトする技術は公知技術であるので、詳細な説明を省略する。また、トップ画面が、メニュー情報格納部103のメニュー情報から構成されることは、画面構成部111は知っているものとする。
次に、ユーザ「yamada」さんは、図10の画面のうち、「権限管理」のボタン(メニュー項目)を選択する、とする。すると、「権限管理」のボタンが選択されたこと(メニュー選択指示)を、情報端末2の端末受付部201が受け付ける。そして、情報端末2の端末送信部202は、当該メニュー選択指示を、情報処理装置1に送信する。
次に、情報処理装置1の入力受付部107は、メニュー選択指示を受信する。そして、入出力制御部110は、「yamada」さんに対応するメモリ上の権限情報「001111」を取得する。
次に、入出力制御部110は、メニュー権限情報格納部105(図9参照)からメニュー権限情報を読み出す。そして、入出力制御部110は、取得した権限情報「001111」と、図9のメニュー権限情報(そのうち、特にメニュー選択指示されたメニューのメニュー権限値「001000」)を用いて、メニュー選択指示されたメニュー「権限管理」に対して、「yamada」さんに権限があるか否かをチェックする。つまり、入出力制御部110は、例えば、権限情報「001111」とメニュー権限値「001000」のANDをとる。そして、ANDの演算値が「0」ではないので、入出力制御部110は、メニュー「権限管理」に対して、「yamada」さんに権限がある、と判断する。
次に、画面構成部111は、メニュー選択指示されたメニュー「権限管理」に対応する画面情報を画面情報格納部104から読み出す。次に、画面構成部111は、読み出した画面情報を用いて、画面を構成する。そして、出力部108は、構成した画面を、情報端末2に送信する。
そして、情報端末2の端末受信部203は画面を受信し、端末出力部204は画面を出力する。そして、「yamada」さんは、図11に示すように、ユーザ「takada」さんの権限を設定するべく、ユーザID「takada」やパスワード等の情報を入力する。そして、「yamada」さんが、図示しない登録ボタンを押下することにより、「yamada」さんが入力したデータが、端末送信部202により、情報処理装置1に送信される。
次に、入力受付部107が、ユーザID「takada」さんの権限の設定の情報を受信し、図示しない処理手段が、当該権限の設定の情報を蓄積する。
また、次に、「yamada」さんは、図10の「利用者/組織管理」のメニュー項目を選択する、とする。そして、「利用者/組織管理」のボタンが選択されたこと(メニュー選択指示)を、情報端末2の端末受付部201が受け付ける。そして、情報端末2の端末送信部202は、当該メニュー選択指示を、情報処理装置1に送信する。
次に、情報処理装置1の入力受付部107は、「利用者/組織管理」のボタンが選択されたことを示すメニュー選択指示を受信する。そして、入出力制御部110は、「yamada」さんに対応するメモリ上の権限情報「001111」を取得する。
次に、入出力制御部110は、メニュー権限情報格納部105(図9参照)からメニュー権限情報を読み出す。そして、入出力制御部110は、取得した権限情報「001111」と、図9のメニュー権限情報(そのうち、特にメニュー選択指示されたメニューのメニュー権限値「010000」)を用いて、メニュー選択指示されたメニュー「利用者/組織管理」に対して、「yamada」さんに権限があるか否かをチェックする。つまり、入出力制御部110は、例えば、権限情報「001111」とメニュー権限値「010000」のANDをとる。そして、ANDの演算値が「0」であるので、入出力制御部110は、メニュー「利用者/組織管理」に対して、「yamada」さんに権限がない、と判断する。
次に、画面構成部111は、メニュー項目「利用者/組織管理」を操作する権限が無い旨を示すエラーの画面を構成する。そして、出力部108は、構成した画面を、情報端末2に送信する。
次に、情報端末2の端末受信部203は、メニュー項目「利用者/組織管理」を操作する権限が無い旨を示すエラーの画面を受信する。そして、端末出力部204は、受信されたエラーの画面を出力する。
(具体例3)
具体例3は、ユーザを識別するユーザIDが、管理者権限情報記憶部101に管理されておらず、一般ユーザ情報記憶部102に管理されている場合である。
今、ユーザ「sakai」さんが、自分の情報端末2から、アプリケーション「総合ERPシステム」を起動させようとした。そして、例えば、ユーザ「sakai」さんが、アプリケーション「総合ERPシステム」のアイコンをダブルプリックした。そして、ユーザIDとパスワードを入力する画面が表示される。次に、ユーザ「sakai」さんが、ユーザID「sakai」、パスワード「0124」を入力する。次に、情報端末2の端末受付部201は、ユーザID「sakai」、パスワード「0124」を受け付ける。そして、端末送信部202は、ユーザID「sakai」、パスワード「0124」を情報処理装置1に送信する。
次に、情報処理装置1のユーザ識別子受付部106は、ユーザID「sakai」、パスワード「0124」を受け付ける。そして、まず、権限情報取得部109は、受け付けたユーザ識別子を用いて、管理者権限情報記憶部101の管理者権限情報管理表を検索に行く。そこで、権限情報取得部109は、ユーザID「sakai」と一致する管理者識別子を有する管理者権限情報が存在しない、と判断する。
次に、権限情報取得部109は、受け付けたユーザ識別子「sakai」を用いて、一般ユーザ情報記憶部102の一般ユーザ管理表を検索に行く。そこで、権限情報取得部109は、ユーザID「sakai」と一致するユーザ識別子が存在する、と判断する。
次に、権限情報取得部109は、予め格納しているデフォルトの権限情報「000001」を読み出す。なお、権限情報「000001」は、一般ユーザが利用できる「一般データ入力処理」のメニュー項目のみ操作等が可能である旨を示す権限情報である。次に、権限情報取得部109は、読み出したデフォルトの権限情報「000001」を、メモリ上に一時格納する。
そして、画面構成部111は、トップ画面を構成するため、メニュー情報格納部103からメニュー情報を読み出し、画面を構成する。そして、出力部108は、図10の画面を、情報端末2に送信する。そして、情報端末2は、図10の画面を受信し、出力する。なお、図10の出力において、ユーザ「sakai」さんが操作等できないメニュー項目「ログ管理(監視処理)」「利用者/組織管理」の形態を非表示にしたり、グレーアウトしたりするなど、他のメニュー項目と視覚的に区別して表示されることは好適である。
次に、具体例1、2と同様に、ユーザ「sakai」さんが操作可能なメニューの項目「一般ユーザ入力処理」が選択指示された場合、メニュー「一般ユーザ入力処理」に対応する画面が出力される。一方、ユーザ「sakai」さんが操作不可能なメニューの項目(例えば、「権限管理」)が選択指示された場合、入出力制御部110は、メニュー「権限管理」に対して、「sakai」さんに権限がない、と判断する。
次に、画面構成部111は、メニュー項目「権限管理」を操作する権限が無い旨を示すエラーの画面を構成する。そして、出力部108は、構成した画面を、情報端末2に送信する。
次に、情報端末2の端末受信部203は、メニュー項目「権限管理」を操作する権限が無い旨を示すエラーの画面を受信する。そして、端末出力部204は、受信されたエラーの画面を出力する。
以上、本実施の形態によれば、高速に管理者の権限を検査することができる。特に、一般ユーザが多数存在する場合、管理者権限情報記憶部と一般ユーザ情報記憶部を分離していることは有効である。また、複数種類の管理者権限を制御できる。特に、メニュー項目ごとに、管理者の権限が制御できる。つまり、複数種類のタイプの管理者の権限を設定できる。また、権限情報が、2以上の各メニュー識別子に対応する異なる2進数の桁のビット値の和であり、各桁は、各メニュー識別子に対応するメニューの操作の制限、またはメニューの出力の制限に応じて、「0」または「1」の値が採り得る2進数の数値であるので、ユーザがどのメニューの操作等が可能であるかが、容易にかつ高速に判断できる。
なお、本実施の形態によれば、情報処理システムは、サーバ・クライアントシステムである、として説明した。ただし、上記の処理は、スタンドアロンの装置で実現されても良い。かかる場合、当該スタンドアロンの装置は、情報処理装置1である。また、この情報処理装置1のユーザ識別子受付部106、および入力受付部107は、ユーザからの入力を受け付け、出力部108は、ディスプレイやスピーカー等の出力媒体に情報等を出力することとなる。
また、本実施の形態の具体例によれば、権限の制限とは、メニューの選択や操作などの制限であった。しかし、権限の制限は、一般的に、情報の入力の制限、または情報の出力の制限であっても良いことは言うまでもない。なお、メニューの選択や操作などを制限することにより、情報の入力や出力もできないこととなる。
また、本実施の形態によれば、メニュー情報と画面情報を別管理していた。しかし、画面を構成する情報をすべて、メニュー情報と呼んでも良い。
また、本実施の形態において、ログインしたユーザの認証を行う場合、まず、管理者権限情報記憶部101を検索し、ログインユーザが入力したユーザ識別子等が管理者権限情報記憶部101に存在すれば、当該ログインユーザは正規ユーザであると判断し、次に、当該ログインユーザが正規ユーザであることが確認できた後、一般ユーザ情報記憶部102を検索し、管理者権限情報記憶部101に存在するユーザ名または管理者識別子等が一般ユーザ情報記憶部102に存在すれば「管理者」であると判断する、ことは好適である。
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、管理者を識別する管理者識別子と、当該管理者に許可される権限を示す情報である権限情報を有する管理者権限情報を1以上格納し得る管理者権限情報記憶部と、
管理者権限情報記憶部とは異なる記憶領域または異なる記憶媒体に存在する記憶領域であり、一般ユーザを識別する情報である一般ユーザ識別子を有する一般ユーザ情報を1以上格納し得る一般ユーザ情報記憶部が存在する状況において、コンピュータを、ユーザを識別する情報であるユーザ識別子を受け付けるユーザ識別子受付部と、情報の入力を受け付ける入力受付部と、前記入力受付部が受け付けた情報、または前記入力受付部が受け付けた情報が処理された結果である処理結果を出力する出力部と、前記ユーザ識別子受付部が受け付けたユーザ識別子が、前記管理者権限情報記憶部に格納されている管理者識別子と一定の関係があるか否かを検査し、前記ユーザ識別子が前記管理者権限情報記憶部に格納されている管理者識別子と一定の関係がある場合に、当該管理者識別子と対になる管理者権限情報を、前記管理者権限情報記憶部から取得する管理者権限情報取得部と、前記管理者権限情報取得部が取得した管理者権限情報を用いて、情報の入力の制限、または情報の出力の制限を行う入出力制御部として機能させるためのプログラム、である。
また、上記プログラムにおける前記管理者権限情報は、利用可能なメニュー、または利用できないメニューを識別する情報であり、前記入出力制御部は、前記管理者権限情報を用いて、メニューに対する操作の制限、またはメニューの出力の制限を行うものとして、コンピュータを機能させるためのプログラムである、ことは好適である。
また、上記プログラムにおいて、アプリケーションを構成するメニューを識別するメニュー識別子と、当該メニューを定義するメニュー定義情報を有するメニュー情報を1以上格納しているメニュー情報格納部と、メニュー識別子で識別されるメニューに対する操作の可否、またはメニューの出力の可否を示すメニュー権限値と、メニュー識別子を有するメニュー権限情報を格納しているメニュー権限情報格納部がさらに存在する状況において、前記入出力制御部を、操作対象または出力対象のメニューのメニュー識別子と対になるメニュー権限値を、前記メニュー権限情報格納部から取得し、当該メニュー権限値と、前記管理者権限情報とを用いて、前記操作対象のメニューに対する操作の制限、または前記操作対象のメニューの出力の制限を行うものとして、コンピュータを機能させるためのプログラムである、ことは好適である。
(実施の形態2)
本実施の形態において、情報処理装置に対して、メニュー項目や、機能追加などが可能であり、追加したメニュー(カスタマイズメニュー、またはアドオンメニューとも言う)等に対しても権限を設定できる情報処理装置等について説明する。本実施の形態における情報処理システムの概念図は、図1と同様である。
図12は、本実施の形態における情報処理システムのブロック図である。情報処理システムは、情報処理装置3、1以上の情報端末2を具備する。
情報処理装置3は、管理者権限情報記憶部101、一般ユーザ情報記憶部102、メニュー情報格納部103、画面情報格納部104、メニュー権限情報格納部105、ユーザ識別子受付部106、入力受付部107、出力部108、権限情報取得部109、入出力制御部110、画面構成部111、メニュー情報受付部112、メニュー情報蓄積部113、管理者権限情報画面構成部114、管理者権限情報画面出力部115、管理者権限情報受付部116、管理者権限情報蓄積部117、メニュー権限情報蓄積部118を具備する。
メニュー情報受付部112は、メニュー情報を受け付ける。ここで、受け付けるメニュー情報は、メニューの項目だけでも良い。また、ここで、受け付けるメニュー情報は、メニュー項目に対応する画面情報や、メニュー項目に対応する機能を実現するためのプログラム等を含んでも良い。ここでの「受け付け」とは、通常、情報端末2からの受信であるが、ユーザからの入力受け付けでも良い。メニュー情報受付部112は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
メニュー情報蓄積部113は、メニュー情報受付部112が受け付けたメニュー情報を、メニュー情報格納部103に蓄積する。また、メニュー情報受付部112が受け付けたメニュー情報が画面情報を含む場合、メニュー情報蓄積部113は、当該画面情報を画面情報格納部104に蓄積する。メニュー情報蓄積部113は、通常、MPUやメモリ等から実現され得る。メニュー情報蓄積部113の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
管理者権限情報画面構成部114は、メニュー情報蓄積部113が蓄積したメニュー情報に対応するメニューに対する管理者権限情報の画面を構成する。管理者権限情報画面構成部114は、通常、MPUやメモリ等から実現され得る。管理者権限情報画面構成部114の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
管理者権限情報画面出力部115は、管理者権限情報画面構成部114が構成した画面を出力する。ここで、出力とは、通常、情報端末2への送信であるが、ディスプレイへの表示、プリンタへの印字、音出力等を含む概念である。管理者権限情報画面出力部115は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。管理者権限情報画面出力部115は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
管理者権限情報受付部116は、管理者権限情報の入力を受け付ける。この管理者権限情報は、管理者権限情報画面出力部115が出力した画面に対して、メニュー情報蓄積部113が蓄積したメニュー情報に対応するメニューに対する管理者権限情報である。ここでの「受け付け」とは、通常、情報端末2からの受信であるが、ユーザからの入力受け付けでも良い。管理者権限情報受付部116は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
管理者権限情報蓄積部117は、管理者権限情報受付部116が受け付けた管理者権限情報を、管理者権限情報記憶部101に蓄積する。管理者権限情報蓄積部117は、通常、MPUやメモリ等から実現され得る。管理者権限情報蓄積部117の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
メニュー権限情報蓄積部118は、メニュー情報蓄積部113がメニュー情報を蓄積した場合に、当該メニュー情報のメニュー識別子と、当該メニュー情報に対応するメニュー権限値を有するメニュー権限情報を構成し、メニュー権限情報格納部105に蓄積する。メニュー権限情報蓄積部118は、通常、MPUやメモリ等から実現され得る。メニュー権限情報蓄積部118の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、情報処理システムの動作について説明する。まず、情報処理装置3の動作について図13のフローチャートを用いて説明する。情報処理装置3の動作において、情報処理装置1の動作とは、メニュー情報を受け付ける点、および、受け付けたメニュー情報に対応して、管理者権限情報の入力を受け付ける点等が異なる。その異なる点についてのみ、説明する。また、図13のフローチャートにおいて、図3のフローチャートと同様の処理については、説明を省略する。
(ステップS1301)メニュー情報受付部112は、ステップS301で受け付けた入力がメニュー情報であるか否かを判断する。メニュー情報であればステップS1302に行き、メニュー情報でなければステップS1305に行く。なお、ここでのメニュー情報とは、上述したように広く解し、追加されたメニュー(カスタマイズメニュー)に関する情報である。カスタマイズメニューに関する情報とは、例えば、メニュー項目だけ、メニュー項目とそれに対応する画面情報、メニュー項目とプログラム、メニュー項目と画面情報とプログラム等である。また、メニュー情報は、例えば、メニュー識別子を含む。
(ステップS1302)メニュー情報蓄積部113は、受け付けたメニュー情報をメニュー情報格納部103に蓄積する。
(ステップS1303)メニュー権限情報蓄積部118は、受け付けたメニュー情報を識別するメニュー識別子、および当該メニュー情報に対応するメニュー権限値を取得する。そして、メニュー権限情報蓄積部118は、取得したメニュー識別子とメニュー権限値を用いて、メニュー権限情報を構成する。なお、メニュー権限情報蓄積部118は、受け付けたメニュー情報からメニュー識別子を取得しても良いし、情報処理装置3内のユニークなメニュー識別子を生成しても良い。メニュー識別子を生成する場合、例えば、メニュー識別子は番号であり、順に、インクリメントされ、メニュー権限情報蓄積部118は、現存する最大のメニュー識別子に1を加えた数値を生成し、当該数値をメニュー識別子とする。また、メニュー権限情報蓄積部118は、現存するメニュー権限値の最大桁の数値を取得し、当該最大桁に1桁加えたn桁の2進数であり、n桁目のみ「1」で、その他の下位の桁の数値を「0」とする2進数を生成する。また、メニュー権限値が「1」を示す桁数の自然数である場合、メニュー権限情報蓄積部118は、最大のメニュー権限値に1を加えた数値をメニュー権限値とする。その他、メニュー識別子やメニュー権限値の取得方法は問わない。
(ステップS1304)メニュー権限情報蓄積部118は、ステップS1303で構成したメニュー権限情報を、メニュー権限情報格納部105に蓄積する。ステップS301に戻る。
(ステップS1305)管理者権限情報画面構成部114は、ステップS301において、管理者権限情報を入力する画面の出力指示を受け付けたか否かを判断する。当該画面の出力指示を受け付ければステップS1306に行き、当該画面の出力指示を受け付けなければステップS1308に行く。
(ステップS1306)管理者権限情報画面構成部114は、管理者権限情報を入力する画面を構成する。管理者権限情報画面構成部114は、例えば、管理者権限情報を入力する画面の画面情報に対して、新たに蓄積したメニュー情報(カスタマイズメニューの情報)に対応する画面情報を生成し(更新し)、当該生成した(更新した)画面情報を、画面情報格納部104に蓄積する。そして、管理者権限情報画面構成部114は、例えば、画面情報格納部104から、生成した(更新した)画面情報を読み出し、管理者権限情報を入力する画面を構成する。
(ステップS1307)管理者権限情報画面出力部115は、ステップS1306で構成した画面を出力する。ステップS301に戻る。なお、ここでの出力とは、通常、情報端末2への送信である。
(ステップS1308)管理者権限情報受付部116は、管理者権限情報の入力を受け付けたか否かを判断する。管理者権限情報の入力を受け付ければステップS1309に行き、管理者権限情報の入力を受け付けなければステップS1310に行く。
(ステップS1309)管理者権限情報蓄積部117は、管理者権限情報受付部116が受け付けた管理者権限情報を、管理者権限情報記憶部101に蓄積する。ステップS301に戻る。
(ステップS1310)図3、図4のフローチャートで説明した、入力処理等の他の処理を行う。ステップS301に戻る。
なお、図13のフローチャートにおいて、追加したメニュー情報に対するデフォルトの権限情報(情報の入力の制限、または情報の出力の制限の情報)が格納されており、かかるデフォルトの権限情報が、各管理者に対して、自動的に蓄積されても良い。
また、図13のフローチャートにおいて、メニュー情報が追加された場合、当該追加したメニュー情報に対する、管理者の権限情報の更新画面が自動的に立ち上げられても良い。かかる場合、ステップS1304の後、直ちに、ステップS1306に移行する。
なお、図13のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態における情報処理システムの具体的な動作について説明する。情報処理システムの概念図は図1と同様である。
今、管理者権限情報記憶部101は、図5に示す管理者権限情報管理表を保持している。また、一般ユーザ情報記憶部102は、図6に示す一般ユーザ情報管理表を保持している。また、メニュー情報格納部103は、例えば、図7に示すメニュー情報を格納している。また、画面情報格納部104は、図8に示すような複数の画面情報を格納している。また、メニュー権限情報格納部105は、図9に示すメニュー権限情報管理表を保持している。
そして、今、ユーザ「yamada」さんが、人事管理を行うためのカスタマイズメニューを追加しようと、「人事管理」のメニュー情報を、情報端末2から入力した、とする。ここで、「人事管理」のメニュー情報は、メニュー識別子「人事管理」と、人事管理を実現するための画面情報と、プログラムを有する、とする。
そして、情報端末2の端末受付部201は、「人事管理」のメニュー情報を受け付ける。そして、端末送信部202は、「人事管理」のメニュー情報を、情報処理装置3に送信する。
次に、情報処理装置3のメニュー情報受付部112は、「人事管理」のメニュー情報を受信する。そして、情報端末2のメニュー情報蓄積部113は、「人事管理」のメニュー情報を蓄積する。具体的には、メニュー情報蓄積部113は、現在のメニュー情報(図7)をメニュー情報格納部103から読み出し、「人事管理」のメニュー情報が有するメニュー識別子を用いて、スクリプト「<br> <input type="button" value="人事処理" ・・・・>」を生成し、読み出したメニュー情報(図7)に追記し、図14のメニュー情報を構成し、メニュー情報格納部103に蓄積する。
次に、メニュー情報蓄積部113は、受け付けたメニュー情報が有する画面情報であり、人事管理を実現するための画面情報を取得し、画面情報格納部104に蓄積する。なお、ここでの画面情報の蓄積は、メニュー情報の蓄積の一部である、とする。さらに、メニュー情報蓄積部113は、受け付けたメニュー情報が有するプログラムも図示しない記憶媒体(記憶領域)に蓄積する。以上の処理により、メニュー情報のメニュー情報格納部103への蓄積処理は完了する。なお、メニュー情報が有する画面情報の蓄積により、出力される権限管理の画面は、図15に示すような画面になる。
次に、メニュー権限情報蓄積部118は、受け付けたメニュー情報を識別するメニュー識別子「人事管理」を取得する。そして、メニュー権限情報蓄積部118は、現在のメニュー権限値の最大の桁数「6」、または最大値「100000」を図9のメニュー権限情報管理表から取得する。そして、メニュー権限情報蓄積部118は、当該メニュー情報に対応するメニュー権限値「1000000」を取得する。メニュー権限情報蓄積部118は、
現在のメニュー権限値の最大の桁数「6」に1を加えて「7」を取得し、7桁目を「1」その他の下位の数値を「0」とし、「1000000」を構成することにより、メニュー権限値の「1000000」を得る。
次に、メニュー権限情報蓄積部118は、メニュー識別子「人事管理」、メニュー権限値の「1000000」を有するメニュー権限情報「人事管理,1000000,・・・」を構成する。
次に、メニュー権限情報蓄積部118は、構成したメニュー権限情報「人事管理,1000000,・・・」を、図9のメニュー権限情報管理表の7番目のレコードとして、蓄積する。
次に、ユーザは、管理者権限情報を入力する画面の出力指示を入力した、とする。そして、情報端末2の端末受付部201は、かかる出力指示を受け付け、端末送信部202は出力指示を、情報処理装置3に送信する。
次に、情報処理装置3の入力受付部107は出力指示を受け付け、管理者権限情報画面構成部114は、図15に示す管理者権限情報画面を構成する。そして、管理者権限情報画面出力部115は、当該画面を、情報端末2に送信する。
情報端末2の端末受信部203は管理者権限情報画面を受信し、端末出力部204は、図15に示すような管理者権限情報画面を出力する。
次に、ユーザ「yamada」さんは、追加したメニュー情報(人事管理のメニュー項目)に対応する管理者権限情報を、図16に示すように入力する。すると、情報端末2の端末受付部201は、「管理者識別子:yamada,権限情報:1001111」を構成し、端末送信部202は、「管理者識別子:yamada,権限情報:1001111」を、情報処理装置3に送信する。
情報処理装置3の管理者権限情報受付部116は、管理者権限情報「管理者識別子:yamada,権限情報:1001111」を受け付ける。
そして、管理者権限情報蓄積部117は、管理者権限情報受付部116が受け付けた管理者権限情報「管理者識別子:yamada,権限情報:1001111」を、図5の管理者権限情報管理表に蓄積する。そして、管理者権限情報蓄積部117は、図17に示す管理者権限情報管理表を得る。図17の管理者権限情報管理表は、図5の管理者権限情報管理表と比較して、「ID=1」のレコードの「yamada」さんの権限情報が更新されている。
以上、本実施の形態によれば、後に追加されたメニュー(カスタマイズメニュー等)に対して、容易に権限の設定がきる。また、本実施の形態によれば、追加したメニューに対するメニュー権限値が自動設定できるため、確実に、追加したメニューに対する管理者の権限設定を促すことができる。また、追加したメニューに対する管理者のデフォルトの権限設定を行うことにより、確実に、追加したメニューに対する管理者の権限設定を行える。また、本実施の形態によれば、高速に管理者の権限を検査することができる。さらに、本実施の形態によれば、複数種類の管理者権限を制御できる。
なお、本実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、管理者を識別する管理者識別子と、当該管理者に許可される権限を示す情報である権限情報を有する管理者権限情報を1以上格納し得る管理者権限情報記憶部と、管理者権限情報記憶部とは異なる記憶領域または異なる記憶媒体に存在する記憶領域であり、一般ユーザを識別する情報である一般ユーザ識別子を有する一般ユーザ情報を1以上格納し得る一般ユーザ情報記憶部が存在する状況において、コンピュータを、ユーザを識別する情報であるユーザ識別子を受け付けるユーザ識別子受付部と、情報の入力を受け付ける入力受付部と、前記入力受付部が受け付けた情報、または前記入力受付部が受け付けた情報が処理された結果である処理結果を出力する出力部と、前記ユーザ識別子受付部が受け付けたユーザ識別子が、前記管理者権限情報記憶部に格納されている管理者識別子と一定の関係があるか否かを検査し、前記ユーザ識別子が前記管理者権限情報記憶部に格納されている管理者識別子と一定の関係がある場合に、当該管理者識別子と対になる管理者権限情報を、前記管理者権限情報記憶部から取得する管理者権限情報取得部と、前記管理者権限情報取得部が取得した管理者権限情報を用いて、情報の入力の制限、または情報の出力の制限を行う入出力制御部として機能させるためのプログラム、である。
また、上記の実施の形態において、メニューの項目はボタンであったが、タブ等の他の形態であっても良い。つまり、上記の実施の形態において、入力の画面例は、図18に示すような態様であっても良い。
また、上記プログラムにおいて、コンピュータを、メニュー情報を受け付けるメニュー情報受付部と、前記メニュー情報受付部が受け付けたメニュー情報を、前記メニュー情報格納部に蓄積するメニュー情報蓄積部と、前記メニュー情報蓄積部が蓄積したメニュー情報に対応するメニューに対する管理者権限情報の画面を構成する管理者権限情報画面構成部と、前記管理者権限情報画面構成部が構成した画面を出力する管理者権限情報画面出力部と、前記管理者権限情報画面出力部が出力した画面に対して、管理者権限情報の入力を受け付ける管理者権限情報受付部と、前記管理者権限情報受付部が受け付けた管理者権限情報を、前記管理者権限情報記憶部に蓄積する管理者権限情報蓄積部としてさらに機能させるためのプログラムである、ことは好適である。
また、上記プログラムにおいて、コンピュータを、前記メニュー情報蓄積部がメニュー情報を蓄積した場合に、当該メニュー情報のメニュー識別子と、当該メニュー情報に対応するメニュー権限値を有するメニュー権限情報を構成し、前記メニュー権限情報格納部に蓄積するメニュー権限情報蓄積部として、さらに機能させるためのプログラムである、ことは好適である。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。例えば、情報処理装置の画面構成部111の処理は、情報端末2で行っても良い。つまり、情報処理装置から画面情報を情報端末2に送信し、情報端末2で、画面情報を解釈して、画面を表示しても良い。
なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、図19は、本明細書で述べたプログラムを実行して、上述した実施の形態の情報処理装置等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図19は、このコンピュータシステム340の概観図であり、図20は、コンピュータシステム340のブロック図である。
図19において、コンピュータシステム340は、FD(Flexible Disk)ドライブ、CD−ROM(Compact Disk Read Only Memory)ドライブを含むコンピュータ341と、キーボード342と、マウス343と、モニタ344とを含む。
図20において、コンピュータ341は、FDドライブ3411、CD−ROMドライブ3412に加えて、CPU(Central Processing Unit)3413と、CPU3413、CD−ROMドライブ3412及びFDドライブ3411に接続されたバス3414と、ブートアッププログラム等のプログラムを記憶するためのROM(Read−Only Memory)3415と、CPU3413に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM(Random Access Memory)3416と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3417とを含む。ここでは、図示しないが、コンピュータ341は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム340に、上述した実施の形態の情報処理装置等の機能を実行させるプログラムは、CD−ROM3501、またはFD3502に記憶されて、CD−ROMドライブ3412またはFDドライブ3411に挿入され、さらにハードディスク3417に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ341に送信され、ハードディスク3417に記憶されても良い。プログラムは実行の際にRAM3416にロードされる。プログラムは、CD−ROM3501、FD3502またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ341に、上述した実施の形態の情報処理装置等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム340がどのように動作するかは周知であり、詳細な説明は省略する。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。