JP5949502B2 - Relay method, relay device, and relay program - Google Patents
Relay method, relay device, and relay program Download PDFInfo
- Publication number
- JP5949502B2 JP5949502B2 JP2012261585A JP2012261585A JP5949502B2 JP 5949502 B2 JP5949502 B2 JP 5949502B2 JP 2012261585 A JP2012261585 A JP 2012261585A JP 2012261585 A JP2012261585 A JP 2012261585A JP 5949502 B2 JP5949502 B2 JP 5949502B2
- Authority
- JP
- Japan
- Prior art keywords
- switching
- request data
- information
- authority
- authority switching
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Description
本発明は、中継方法等に関する。 The present invention relates to a relay method and the like.
近年、ウェブサービスを業務において利用する際、ユーザの操作効率を向上させる技術が求められている。 In recent years, there is a demand for a technique for improving user operation efficiency when using web services in business.
例えば、ユーザの操作効率を向上させる技術として、ユーザの端末を示すブラウザとウェブサーバとの間の通信を中継する中継装置の技術がある。かかる中継装置は、ウェブサーバに送信されたリクエストデータとウェブサーバから受信したレスポンスデータと処理識別情報とを対応付けて記憶装置に記憶する。そして、中継装置は、記憶装置を参照し、同じ処理識別情報を持つ2つのリクエストデータに含まれるパラメータの内、2つのリクエストデータでの値が異なり、且つ、直前のレスポンスデータには含まれないパラメータを抽出し、入力可能なように汎用化する。そして、中継装置は、再現の際、汎用化されたパラメータに対する値の入力を受け付け、入力を受け付けた値を抽出したパラメータの値に設定したリクエストデータをウェブサーバに送信する。この結果、中継装置は、可能な限りユーザを介さないで、一連のリクエストを順次生成し、ウェブサーバに送信するので、ユーザの操作効率を向上させる(例えば、特許文献1)。汎用化されたパラメータには、例えば、ユーザID(identification)やパスワード等の認証情報が含まれる。 For example, as a technique for improving user operation efficiency, there is a technique of a relay device that relays communication between a browser indicating a user terminal and a web server. Such a relay device stores the request data transmitted to the web server, the response data received from the web server, and the processing identification information in association with each other in the storage device. Then, the relay device refers to the storage device, and among the parameters included in the two request data having the same processing identification information, the values in the two request data are different and are not included in the immediately preceding response data. Extract parameters and generalize them so that they can be entered. Then, the relay device accepts an input of a value for a generalized parameter at the time of reproduction, and transmits request data in which the value of the accepted input is set to the extracted parameter value to the web server. As a result, the relay device sequentially generates a series of requests and transmits them to the web server without using the user as much as possible, thereby improving the operation efficiency of the user (for example, Patent Document 1). The generalized parameters include authentication information such as a user ID (identification) and a password, for example.
ところで、複数のユーザによって協調して利用されるウェブアプリケーション(以降、協調型ウェブアプリという)がある。かかる協調型ウェブアプリでは、ユーザによって操作に制限がかかる処理が行える。例えば、会議室の予約では、部屋を予約したユーザによってのみ予約取消操作に制限がかかる処理が行えるとか、事務処理では、管理職によってのみ起票承認操作に制限がかかる処理が行えるとかである。したがって、協調型ウェブアプリにおける操作を再現する際、再現に関わる複数ユーザの認証情報が必要となる場合がある。 By the way, there is a web application (hereinafter referred to as a cooperative web application) that is used in cooperation by a plurality of users. In such a collaborative web application, a process in which the operation is restricted by the user can be performed. For example, in a reservation of a conference room, a process that restricts a reservation cancellation operation can be performed only by a user who has reserved the room, and in a paperwork, a process that restricts a draft approval operation can be performed only by a manager. Therefore, when reproducing the operation in the cooperative web application, authentication information of a plurality of users related to the reproduction may be required.
このような協調型ウェブアプリでは、操作の再現の際、同じユーザ端末から複数ユーザの認証情報を中継装置に送る場合、セキュリティが担保されないという問題がある。例えば、再現を行うユーザAのユーザ端末から再現を行う際、ユーザAのユーザ端末に対して再現に関わるユーザBの認証情報を渡したままになるので、ユーザAはユーザBがいない時でも許可なくユーザBの認証情報を利用して再現することができてしまう。この結果、セキュリティが担保されないことになる。 In such a cooperative web application, there is a problem that security is not ensured when authentication information of a plurality of users is sent from the same user terminal to the relay device when the operation is reproduced. For example, when the reproduction is performed from the user terminal of the user A who performs the reproduction, the authentication information of the user B related to the reproduction is passed to the user terminal of the user A, so the user A is not permitted even when the user B is not present. It can be reproduced using the authentication information of user B. As a result, security is not ensured.
1つの側面では、セキュリティに配慮した協調型ウェブアプリについての操作再現を行うことを目的とする。 In one aspect, an object is to reproduce an operation of a cooperative web application in consideration of security.
本願の開示する中継方法は、中継装置がクライアント端末とウェブアプリケーションを実行するウェブサーバとの間の通信を中継する中継方法であって、前記クライアント端末から前記ウェブサーバに送信されたリクエストデータと当該ウェブサーバから受信したレスポンスデータとを記憶装置に記録し、通信先のクライアントが切り替えられてから処理されるリクエストデータに関する情報である切替情報を前記記憶装置に記録し、前記記憶装置に記録された切替情報に基づいて、通信先のクライアント端末を切り替え、前記記憶装置に記録されたリクエストデータ及びレスポンスデータを再現する。 A relay method disclosed in the present application is a relay method in which a relay device relays communication between a client terminal and a web server that executes a web application, and the request data transmitted from the client terminal to the web server Response data received from the web server is recorded in the storage device, and switching information that is information on request data to be processed after the communication destination client is switched is recorded in the storage device and recorded in the storage device. Based on the switching information, the communication destination client terminal is switched to reproduce the request data and response data recorded in the storage device.
本願の開示する中継方法の1つの態様によれば、セキュリティに配慮した協調型ウェブアプリについての操作再現を行うことができる。 According to one aspect of the relay method disclosed in the present application, it is possible to reproduce an operation for a cooperative web application in consideration of security.
以下に、本願の開示する中継方法、中継装置及び中継プログラムの実施例を図面に基づいて詳細に説明する。なお、実施例によりこの発明が限定されるものではない。 Hereinafter, embodiments of a relay method, a relay device, and a relay program disclosed in the present application will be described in detail with reference to the drawings. The present invention is not limited to the embodiments.
[ウェブ中継システムの構成]
図1は、実施例に係る中継装置の構成を示す機能ブロック図である。図1に示すように、ウェブ中継システム9は、中継装置1と、端末2A,2Bと、ウェブサーバ3とを有する。中継装置1は、端末2A,2Bとウェブサーバ3との間の通信を中継する。端末2A,2Bは、ウェブサービスを利用する、パーソナルコンピュータ等のクライアント端末である。ウェブサーバ3は、ウェブサービスを実行するウェブアプリケーション41を配備する。ここでは、ウェブアプリケーション41とは、複数のユーザが協調して利用するウェブアプリケーションであり、例えば会議室予約に関するアプリケーションを指す。このような複数のユーザが協調して利用するウェブアプリケーション41を、ここでは「協調型ウェブアプリ」というものとする。なお、ウェブ中継システム9では、ウェブサーバ3を中継装置1及び端末2A,2Bと同一のネットワーク上に適用した場合であっても良いし、ウェブサーバ3を外部装置として異なるネットワーク上に適用した場合であっても良い。
[Web relay system configuration]
FIG. 1 is a functional block diagram illustrating the configuration of the relay device according to the embodiment. As shown in FIG. 1, the web relay system 9 includes a
ここで、協調型ウェブアプリについて説明する。協調側ウェブアプリでは、複数のユーザが協調して利用するので、ユーザによって操作にアクセス制限が設けられる。例えば、会議室予約に関する協調型ウェブアプリでは、会議室を予約したユーザのみが予約取消しの操作を行えるので、別のユーザが既に予約された会議室を緊急で利用したくても自らが予約取消しの操作をすることができない。そこで、実施例に係る中継装置1は、別のユーザが既に予約された会議室を緊急で利用したい場合に、このユーザの端末から当該会議室を予約したユーザの端末に処理を切り替えさせて認証情報を取得することを可能とする。以降では、会議室予約に関する協調側ウェブアプリを例として説明する。
Here, the cooperative web application will be described. In the cooperation-side web application, since a plurality of users cooperate and use, access restriction is provided for operations by the users. For example, in a collaborative web application related to conference room reservation, only the user who reserved the conference room can cancel the reservation, so even if another user wants to use the conference room that has already been reserved, Cannot operate. Therefore, when the
中継装置1は、通信先の端末2Aからの通信を記録する通信記録処理と、記録した通信を再現する再現処理を備える。中継装置1は、通信記録処理では、通信先の端末2Aからウェブサーバ3に送信されたリクエストデータとウェブサーバ3から受信したレスポンスデータとを後述する通信記録テーブル31に記録する。これとともに、中継装置1は、リクエストデータについて、通信先の権限の切替等が必要なタイミングを権限切替情報として後述する権限切替記録テーブル32に記録する。また、中継装置1は、再現処理では、権限切替記録テーブル32に記録された権限切替情報に基づいて、権限の切替が必要なタイミングで、通信先の端末2Aに通信先を切り替えさせる。そして、中継装置1は、切り替えられた通信先から当該通信先の認証情報を受け取る。認証情報は、例えばユーザID及びパスワードである。そして、中継装置1は、認証情報を用いて認証した後、切り替わった権限で通信記録テーブル31に記録されたリクエストデータを再現する。
The
中継装置1は、制御部10と、端末通信部11と、外部サービス通信部12とを有する。また、中継装置1は、通信記録テーブル31と、権限切替記録テーブル32と、汎用処理テーブル33と、トークン管理テーブル34とを有する。
The
端末通信部11は、端末との通信インタフェースである。外部サービス通信部12は、外部サービス、例えば、ウェブサーバ3に配備されたウェブアプリケーション41との通信インタフェースである。
The terminal communication unit 11 is a communication interface with the terminal. The external
制御部10は、通信記録部13と、スクリプト挿入部14と、権限切替記録部15と、汎用化部16とを有する。また、制御部10は、通信記録呼出部17と、記録再現部18と、権限切替記録呼出部19と、トークン発行部20と、権限切替再現部21と、トークン破棄部22とを有する。また、制御部10は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路またはCPU(Central Processing Unit)やMPU(Micro Processing Unit)等の電子回路である。
The
通信記録部13は、協調型ウェブアプリの一連の操作毎に端末2Aからウェブサーバ3に送信されたリクエストデータを順次通信記録テーブル31に記録する。そして、通信記録部13は、端末2Aから送信されたリクエストデータをウェブサーバ3に送信する。また、通信記録部13は、ウェブサーバ3から送信された、レスポンスデータをリクエストデータに対応付けて順次通信記録テーブル31に記録する。そして、通信記録部13は、ウェブサーバ3から送信されたレスポンスデータに、スクリプトが挿入されたレスポンスデータを端末2Aに送信する。レスポンスデータへのスクリプトの挿入は、後述するスクリプト挿入部14によって行われる。
The
ここで、通信記録テーブル31のデータ構造について、図2を参照しながら説明する。図2は、通信記録テーブルのデータ構造の一例を示す図である。図2に示すように、通信記録テーブル31は、通信記録として、記録番号31a、リクエストデータ31b及びレスポンスデータ31cを対応付けて記憶する。記録番号31aは、対応付けられたリクエストデータ31b及びレスポンスデータ31cが記録された順に付与された番号であり、昇順に付与される。リクエストデータ31bは、端末2Aからウェブサーバ3にリクエストされたデータである。レスポンスデータ31cは、ウェブサーバ3からレスポンスされたデータであり、リクエストデータ31bに対応する。一例として、記録番号31aが「2」である場合、リクエストデータ31bとして「GET login.cgi?uid=user1&pass=user1 HTTP/1.0」、レスポンスデータ31cとして「HTTP/1.0 200 OK <html>会議室一覧」と記憶している。
Here, the data structure of the communication record table 31 will be described with reference to FIG. FIG. 2 is a diagram illustrating an example of a data structure of the communication record table. As shown in FIG. 2, the communication record table 31 stores a
図1に戻って、スクリプト挿入部14は、レスポンスデータを受信すると、権限切替情報を記録する権限切替記録テーブル32を参照し、権限切替中であるか否かを判定し、判定結果に応じたスクリプトをレスポンスデータに挿入する。ここで、権限切替記録テーブル32のデータ構造について、図3を参照しながら説明する。図3は、権限切替記録テーブルのデータ構造の一例を示す図である。
Returning to FIG. 1, upon receiving the response data, the
図3に示すように、権限切替記録テーブル32は、権限切替情報として、権限切替番号32a、認証32b、権限切替開始32c及び権限切替終了32dを対応付けて記憶する。権限切替番号32aは、権限切替がある一連の操作に対する識別番号を示し、一例として昇順に付与される。認証32bは、認証する際のリクエストデータであることを示す記録番号を記憶する。権限切替開始32cは、権限が切り替えられてから処理されるリクエストデータの開始の記録番号を示す。権限切替終了32dは、権限が切り替えられてから処理されるリクエストデータの終了の記録番号を示す。一例として、権限切替番号32aが「1」である場合、認証32bとして「2」、権限切替開始32cとして「3」、権限切替終了32dとして「3」と記憶している。
As shown in FIG. 3, the authority switching record table 32 stores
図1に戻って、例えば、スクリプト挿入部14は、レスポンスデータを受信すると、権限切替記録テーブル32に記録された権限切替情報から最新の権限切替番号32aを持つ権限切替情報を取得する。そして、スクリプト挿入部14は、取得ができない場合、取得ができても取得された権限切替情報の権限切替終了32dに記録番号が設定されている場合、権限切替中でないと判断する。また、スクリプト挿入部14は、取得ができても取得された権限切替情報の認証32bに記録番号が設定され、且つ権限切替開始32c及び権限切替終了32dに記録番号が設定されていない場合、権限切替中でないと判断する。一方、スクリプト挿入部14は、取得された権限切替情報について、権限切替開始32cに記録番号が設定され、且つ権限切替終了32dに記録番号が設定されていない場合、権限切替中であると判断する。そして、スクリプト挿入部14は、権限切替中でない場合に、権限の切替開始のタイミングであることを端末2Aに通知させるためのスクリプト(権限切替開始通知に関わるスクリプト)をレスポンスデータに挿入する。スクリプト挿入部14は、権限切替中でない場合に、認証のタイミングであることを端末2Aに通知させるためのスクリプト(認証通知に関わるスクリプト)をレスポンスデータに挿入する。また、スクリプト挿入部14は、権限切替中である場合に、権限の切替終了のタイミングであることを端末2Aに通知させるためのスクリプト(権限切替終了通知に関わるスクリプト)をレスポンスデータに挿入する。
Returning to FIG. 1, for example, when receiving the response data, the
ここで、権限切替開始通知及び認証通知に関わるスクリプト、権限切替終了通知に関わるスクリプトの一例を、図4及び図5を参照して説明する。図4は、権限切替開始通知及び認証通知に関わるスクリプトの一例を示す図である。図5は、権限切替終了通知に関わるスクリプトの一例を示す図である。 Here, an example of the script related to the authority switching start notification and the authentication notification and the script related to the authority switching end notification will be described with reference to FIGS. 4 and 5. FIG. 4 is a diagram illustrating an example of a script related to the authority switching start notification and the authentication notification. FIG. 5 is a diagram illustrating an example of a script related to the authority switching end notification.
図4には、権限切替開始通知及び認証通知に関わるスクリプトが示されている。権限切替開始通知に関わるスクリプトの部分は、符号f1で示される。ここでは、キーコードが「119」であるF8キーが押下されると、認証のタイミングであることを通知するコマンドが発行されることが示されている。すなわち、F8キーが押下されると、端末2Aが認証のタイミングであることを中継装置1に通知する。また、権限切替開始通知に関わるスクリプトの部分は、符号f2で示される。ここでは、キーコードが「120」であるF9キーが押下されると、権限の切替開始のタイミングであることを通知するコマンドが発行されることが示されている。すなわち、F9キーが押下されると、端末2Aが権限の切替開始のタイミングであることを中継装置1に通知する。なお、符号f3に示されるように、F8キーの押下が認証通知であること、F9キーの押下が権限切替開始通知であることをユーザに知らせるためのアラートをあげても良い。ここでは、ダイアログ画面が表示される。
FIG. 4 shows a script related to the authority switching start notification and the authentication notification. The portion of the script related to the authority switching start notification is indicated by reference numeral f1. Here, it is shown that when the F8 key whose key code is “119” is pressed, a command for notifying the timing of authentication is issued. That is, when the F8 key is pressed, the
図5には、権限切替終了通知に関わるスクリプトが示されている。権限切替終了通知に関わるスクリプトの部分は、符号f4で示される。ここでは、キーコードが「119」であるF8キーが押下されると、権限の切替終了のタイミングであることを通知するコマンドが発行されることが示されている。すなわち、F8キーが押下されると、端末2Aが権限の切替終了のタイミングであることを中継装置1に通知する。なお、符号f5に示されるように、F8キーの押下が権限切替終了通知であることをユーザに知らせるためのアラートをあげても良い。ここでは、ダイアログ画面が表示される。
FIG. 5 shows a script related to the authority switching end notification. The portion of the script related to the authority switching end notification is indicated by reference numeral f4. Here, it is shown that when the F8 key whose key code is “119” is pressed, a command is issued to notify that it is the timing of the end of authority switching. In other words, when the F8 key is pressed, the
権限切替記録部15は、端末2Aのスクリプトから送信された通知に応じて、権限切替情報を更新する。例えば、権限切替記録部15は、端末2Aから通知内容を取得する。また、権限切替記録部15は、通知内容が「認証通知」である場合、新規の権限切替情報を追加し、権限切替番号32aを最新の番号に設定する。そして、権限切替記録部15は、通信記録テーブル31に記録された通信記録情報のうち最新の記録番号の次番号を認証番号として認証32bに設定する。すなわち、権限切替記録部15は、通知内容が「認証通知」である場合、次の操作(リクエストデータ)が認証であると判断する。また、権限切替記録部15は、通知内容が「権限切替開始」である場合、通信記録情報のうち最新の記録番号の次番号を権限切替開始番号として権限切替開始32cに設定する。すなわち、権限切替記録部15は、通知内容が「権限切替開始」である場合、次の操作(リクエストデータ)が他の権限で行われる最初の操作であると判断する。また、権限切替記録部15は、通知内容が「権限切替終了」である場合、通信記録情報のうち最新の記録番号を権限切替終了番号として権限切替終了32dに設定する。すなわち、権限切替記録部15は、通知内容が「権限切替終了」である場合、最新の操作(リクエストデータ)が他の権限で行われる最後の操作であると判断する。
The authority switching
汎用化部16は、協調型ウェブアプリの一連の操作を汎用化するようにリクエストデータを生成する。例えば、あらかじめ通信記録部13によって、協調型ウェブアプリの一連の操作の操作記録が複数回通信記録テーブル31に記録されていることとする。汎用化部16は、通信記録テーブル31に記録された通信記録を参照し、同じ操作の2つのリクエストデータに含まれるパラメータの内、2つのリクエストデータでの値が異なり、且つ、直前のレスポンスデータには含まれないパラメータを抽出する。そして、汎用化部16は、抽出したパラメータの値を例えば変数に置き換えたリクエストデータを、汎用化したリクエストデータとして生成する。そして、汎用化部16は、生成したリクエストデータを汎用処理テーブル33に記録する。
The
ここで、汎用処理テーブル33のデータ構造について、図6を参照して説明する。図6は、汎用処理テーブルのデータ構造の一例を示す図である。図6に示すように、汎用処理テーブル33は、通信番号33a及びリクエストデータ33bを対応付けて記憶する。通信番号33aは、リクエストデータ33bが記録された順に付与された番号であり、通信記録テーブル31の記録番号31aに対応する。リクエストデータ33bは、汎用化された汎用処理であるリクエストデータであり、通信記録テーブル31のリクエストデータ31bに対応する。なお、リクエストデータ33b内の「uid」、「pass」は、それぞれユーザID、パスワードを示すパラメータである。リクエストデータ内の「rid」、「reason」は、それぞれ部屋番号、目的を示すパラメータである。
Here, the data structure of the general-purpose processing table 33 will be described with reference to FIG. FIG. 6 is a diagram illustrating an example of the data structure of the general-purpose processing table. As shown in FIG. 6, the general-purpose processing table 33 stores a
例えば、通信番号33aが「2」の場合、リクエストデータ33bには、ユーザID及びパスワードが含まれる。すなわち、リクエストデータ33bは、パラメータ「uid」の値が変数「%%」に置き換わり、パラメータ「pass」の値が変数「%%」に置き換わる処理となっている。また、通信番号33aが「3」の場合、リクエストデータ33bには、部屋番号が含まれる。すなわち、リクエストデータ33bは、パラメータ「rid」の値が変数「%%」に置き換わる処理となっている。また、通信番号33aが「4」の場合、リクエストデータ33bには、部屋番号及び目的が含まれる。すなわち、リクエストデータ33bは、パラメータ「rid」の値が変数「%%」に置き換わり、パラメータ「reason」の値が変数「%%」に置き換わる処理となっている。
For example, when the
通信記録呼出部17は、端末2Aから再現要求を受け取ると、再現要求に対応するリクエストデータを順番に汎用処理テーブル33から呼び出す。ここでいうリクエストデータは、汎用化されたリクエストデータを示す。また、ここでいう再現要求には、汎用化により値が変数とされたパラメータの具体的な値が含まれる。通信記録呼出部17は、呼び出したリクエストデータのパラメータの変数とされた箇所に具体的な値を埋め込み、再現されるリクエストデータを生成する。なお、再現要求は、例えば、端末2Aにあらかじめインストールされた再現要求画面から実行されても良い。
When receiving the reproduction request from the
記録再現部18は、権限切替が開始されるまで、通信記録呼出部17によって生成された、再現されるリクエストデータをウェブサーバ3に送信する。なお、権限切替が開始されたかどうかは、後述する権限切替記録呼出部19によって判定される。
The
権限切替記録呼出部19は、該当する権限切替情報を権限切替記録テーブル32から呼び出す。そして、権限切替記録呼出部19は、権限切替情報を参照し、再現されるリクエストデータが権限切替を開始したタイミングであるか否かを判定する。例えば、権限切替記録呼出部19は、再現されるリクエストデータの通信番号33aが権限切替記録テーブル32に記録された権限切替開始32cの番号と一致するか否かを判定する。ここで、権限切替記録呼出部19は、一致すると判定した場合、権限切替が開始したタイミングであると判定する。一方、権限切替記録呼出部19は、一致しないと判定した場合、権限切替が開始したタイミングでないと判定する。
The authority switching
トークン発行部20は、権限切替を開始したタイミングである場合に、トークンを発行し、発行したトークンを端末2Aに対して通知する。これにより、トークン発行部20は、発行したトークンを用いて端末2Aに通信先を切り替えさせる。例えば、トークン発行部20は、権限切替記録呼出部19によって再現されるリクエストデータが権限切替を開始したタイミングであると判定した場合に、システム内で一意となる識別子を持つトークンを発行する。トークン発行部20は、発行したトークンの識別子を権限切替情報の権限切替番号32aが示す番号と対応付けてトークン管理テーブル34に記録する。トークンの識別子は、文字列であっても、数字であっても、画像であっても良く、システム内で一意となれば良い。そして、トークン発行部20は、通信先の端末2Aに対して、トークンを通知する。
The
権限切替再現部21は、トークン及び認証情報を用いて、権限切替に関わる通信記録を再現する。例えば、権限切替再現部21は、切り替えられた通信先からトークン及び権限切替に関わる認証情報を受け取ると、受け取ったトークンの識別子がトークン管理テーブル34に記録されているか否かを判定する。認証情報には、切り替えられた通信先のユーザID及びパスワードが含まれる。そして、権限切替再現部21は、受け取ったトークンの識別子がトークン管理テーブル34に記録されていれば、受け取った認証情報を、認証に関わるリクエストデータに埋め込み、再現されるリクエストデータを生成する。ここでいう認証に関わるリクエストデータは、権限切替情報の認証32bが示す番号に該当する汎用化されたリクエストデータを示す。そして、記録再現部18は、再現されるリクエストデータを、すなわち認証に関わるリクエストデータをウェブサーバ3に送信する。これにより、切り替えられた通信先に権限が切り替えられる。
The authority switching
また、権限切替再現部21は、権限切替が開始されてから終了されるまでの通信記録を再現する。例えば、記録再現部18は、権限切替情報の権限切替開始32cが示す番号から権限切替終了32dが示す番号までの再現されるリクエストデータをウェブサーバ3に送信する。
Further, the authority switching
トークン破棄部22は、権限切替の終了時に、トークンを破棄する。例えば、トークン破棄部22は、再現されるリクエストデータの通信番号が権限切替情報の権限切替終了32dが示す番号である場合に、トークン管理テーブル34に記録されているトークンの情報を削除する。
The
[通信記録処理の具体例]
次に、通信記録処理の具体例を、図7、図8A〜図8Dを参照して説明する。図7は、通信記録処理の具体例を説明する図である。図8A〜図8Dは、通信記録テーブルと権限切替記録テーブルの遷移を説明する図である。なお、図7に示すように、リクエスト及びレスポンスの括弧内の数字は、通信番号を示す。また、スクリプト(a)は、権限切替開始通知及び認証通知に関わるスクリプト(図4参照)を示し、スクリプト(b)は、権限切替終了通知に関わるスクリプト(図5参照)を示す。また、通信記録テーブル31及び権限切替記録テーブル32には、まだデータが記録されていないものとする。
[Specific example of communication record processing]
Next, a specific example of the communication recording process will be described with reference to FIGS. 7 and 8A to 8D. FIG. 7 is a diagram for explaining a specific example of the communication recording process. 8A to 8D are diagrams for explaining the transition between the communication record table and the authority switching record table. As shown in FIG. 7, the numbers in parentheses of the request and response indicate communication numbers. The script (a) indicates a script (see FIG. 4) related to the authority switching start notification and the authentication notification, and the script (b) indicates a script (refer to FIG. 5) related to the authority switching end notification. It is assumed that no data has been recorded in the communication record table 31 and the authority switching record table 32 yet.
端末2Aから通信番号(記録番号)が「1」であるリクエストデータ(1)が送信される(S11)。 Request data (1) whose communication number (record number) is “1” is transmitted from the terminal 2A (S11).
中継装置1では、通信記録部13は、リクエストデータ(1)及びレスポンスデータ(1)を通信記録テーブル31に記録する(S12)。ここでは、リクエストデータ(1)は、「GET /index.cgi HTTP/1.0」であり、レスポンスデータ(1)は、「HTTP/1.0 200 OK <html>ログイン」であるとする。図8Aの上段が、通信記録テーブル31の通信記録の内容である。
In the
そして、スクリプト挿入部14は、権限切替記録テーブル32を参照して、権限切替中であるか否かを判定する。ここでは、スクリプト挿入部14は、権限切替記録テーブル32にデータが記録されていないので、権限切替中でないと判定する。そして、スクリプト挿入部14は、認証のタイミングであることを端末2Aに通知させる認証通知及び権限の切替開始のタイミングであることを端末2Aに通知させる権限切替開始通知に関わるスクリプト(a)をレスポンスデータ(1)に挿入する(S13)。そして、通信記録部13は、スクリプトが挿入されたレスポンスデータ(1)を端末2Aへ送信する(S14)。
Then, the
端末2Aでは、レスポンスデータ(1)に応じて、認証を促すログイン画面が表示される。そして、F8キーが押下されると(S15)、端末2Aは中継装置1に認証のタイミングであることを通知する。なお、F8キーが押下されたときのリクエストは、例えば、図4の符号f1で示すように、「GET /delegate.cgi?action=auth」である。
In the
中継装置1では、権限切替記録部15は、通知内容が「認証通知」であるので、次のリクエストデータが認証であると判断する。そして、権限切替記録部15は、新規の権限切替情報を生成し、権限切替番号32aに「1」を設定するとともに、認証32bに最新の記録番号の次番号「2」を記録する(S16)。図8Aの下段が、権限切替記録テーブル32の権限切替情報の内容である。
In the
端末2Aでは、ログイン画面から通信番号(記録番号)が「2」であるリクエストデータ(2)が送信される(S17)。リクエストデータ(2)は、入力されたユーザID及びパスワードでの認証を促すリクエストである。
In the
中継装置1では、通信記録部13は、リクエストデータ(2)及びレスポンスデータ(2)を通信記録テーブル31に記録する(S18)。ここでは、リクエストデータ(2)は、「GET login.cgi?uid=user1&pass=user1 HTTP/1.0」であり、レスポンスデータ(2)は、「HTTP/1.0 200 OK <html>会議室一覧」であるとする。図8Bの上段が、通信記録テーブル31の通信記録の内容である。
In the
そして、スクリプト挿入部14は、権限切替記録テーブル32を参照して、権限切替中であるか否かを判定する。ここでは、スクリプト挿入部14は、権限切替記録テーブル32の認証32bに記録番号が設定され、且つ権限切替開始32c及び権限切替終了32cに記録番号が設定されていないので、権限切替中でないと判定する。そして、スクリプト挿入部14は、認証のタイミングであることを端末2Aに通知させる認証通知または権限の切替開始のタイミングであることを端末2Aに通知させる権限切替開始通知に関わるスクリプト(a)をレスポンスデータ(2)に挿入する(S19)。そして、通信記録部13は、スクリプトが挿入されたレスポンスデータ(2)を端末2Aへ送信する(S20)。
Then, the
端末2Aでは、レスポンスデータ(2)に応じて、会議室一覧画面が表示される。そして、F9キーが押下されると(S21)、端末2Aは中継装置1に権限の切替開始のタイミングであることを通知する。なお、F9キーが押下されたときのリクエストは、例えば、図4の符号f2で示すように、「GET /delegate.cgi?action=start」である。
In the
中継装置1では、権限切替記録部15は、通知内容が「権限切替開始」であるので、次のリクエストデータが他の権限で行われる操作であると判断する。そして、権限切替記録部15は、権限切替情報の権限切替開始32cに最新の記録番号の次番号「3」を記録する(S22A)。図8Bの下段が、権限切替記録テーブル32の権限切替情報の内容である。
In the
端末2Aでは、会議室一覧画面で取消キーが押下されると、通信番号(記録番号)が「3」であるリクエストデータ(3)が送信される(S22)。リクエストデータ(3)は、部屋番号「101」の予約を取り消すリクエストである。
In the
中継装置1では、通信記録部13は、リクエストデータ(3)及びレスポンスデータ(3)を通信記録テーブル31に記録する(S23)。ここでは、リクエストデータ(3)は、「GET cancel.cgi?rid=101 HTTP/1.0」であり、レスポンスデータ(3)は、「HTTP/1.0 200 OK <html>成功」であるとする。図8Cの上段が、通信記録テーブル31の通信記録の内容である。
In the
そして、スクリプト挿入部14は、権限切替記録テーブル32を参照して、権限切替中であるか否かを判定する。ここでは、スクリプト挿入部14は、権限切替記録テーブル32の権限切替開始32cに記録番号が設定され、且つ権限切替終了32dに記録番号が設定されていないので、権限切替中であると判定する。そして、スクリプト挿入部14は、権限の切替終了のタイミングであることを端末2Aに通知させる権限切替終了通知を含むスクリプト(b)をレスポンスデータ(3)のHTML内に挿入する(S24)。そして、通信記録部13は、スクリプトが挿入されたレスポンスデータ(3)を端末2Aへ送信する(S25)。
Then, the
端末2Aでは、レスポンスデータ(3)に応じて、会議室一覧画面がそのまま表示される。そして、F8キーが押下されると(S26)、端末2Aは中継装置1に権限の切替終了のタイミングであることを通知する。なお、F8キーが押下されたときのリクエストは、例えば、図5の符号f4で示すように、「GET /delegate_end.cgi」である。
In the
中継装置1では、権限切替記録部15は、通知内容が「権限切替終了」であるので、最新のリクエストデータ(3)が他の権限で行われる最後の操作であると判断する。そして、権限切替記録部15は、権限切替情報の権限切替終了32dに最新の記録番号「3」を記録する(S27)。図8Cの下段が、権限切替記録テーブル32の権限切替情報の内容である。
In the
その後、端末2Aでは、会議室一覧画面で予約キーが押下されると、通信番号(記録番号)が「4」であるリクエストデータ(4)が送信される(S28)。リクエストデータ(4)は、部屋番号「101」を予約するリクエストである。このリクエストでは、目的として「重要会議」が設定されている。
Thereafter, in the
中継装置1では、通信記録部13は、リクエストデータ(4)及びレスポンスデータ(4)を通信記録テーブル31に記録する(S29)。ここでは、リクエストデータ(4)は、「GET reserve.cgi?rid=101&reason=”重要会議” HTTP/1.0」であり、レスポンスデータ(4)は、「HTTP/1.0 200 OK <html>成功」であるとする。図8Dが、通信記録テーブル31の通信記録の内容である。
In the
そして、スクリプト挿入部14は、権限切替記録テーブル32を参照して、権限切替中であるか否かを判定する。ここでは、スクリプト挿入部14は、権限切替記録テーブル32の権限切替終了32dに記録番号が設定されているので、権限切替中でないと判定する。そして、スクリプト挿入部14は、認証のタイミングであることを端末2Aに通知させる認証通知及び権限の切替開始のタイミングであることを端末2Aに通知させる権限切替開始通知に関わるスクリプト(a)をレスポンスデータ(4)に挿入する(S30)。そして、通信記録部13は、スクリプトが挿入されたレスポンスデータ(4)を端末2Aへ送信する(S31)。
Then, the
このようにして、会議室予約に関する協調型ウェブアプリの通信記録処理が行われ、通信記録テーブル31及び権限切替記録テーブル32が生成される。 In this way, the communication recording process of the cooperative web application related to the conference room reservation is performed, and the communication recording table 31 and the authority switching recording table 32 are generated.
[再現処理の具体例]
次に、再現処理の具体例を、図9を参照して説明する。図9は、再現処理の具体例を説明する図である。なお、この具体例では、「端末2Aのユーザ1が既にユーザ2によって予約されている部屋番号101を、重要会議を目的として予約する」ことを再現する。
[Specific examples of reproduction processing]
Next, a specific example of the reproduction process will be described with reference to FIG. FIG. 9 is a diagram for explaining a specific example of the reproduction process. In this specific example, “the
図9に示すように、通信記録処理によって記録された通信記録及び権限切替情報が表されている。図9の上段が、通信記録テーブル31の通信記録の内容である。図9の下段が、権限切替記録テーブル32の権限切替情報の内容である。 As shown in FIG. 9, the communication record and authority switching information recorded by the communication record process are shown. The upper part of FIG. 9 shows the contents of the communication record in the communication record table 31. The lower part of FIG. 9 shows the contents of the authority switching information in the authority switching recording table 32.
汎用化部16は、通信記録テーブル31に記録された通信記録を参照し、一連の操作、ここでは記録番号1から4までの操作を汎用化する。この結果、図6で示される汎用処理テーブル33が生成されたとする。
The
そして、通信記録呼出部17は、端末2Aから再現要求を受け取ると、再現要求に対応するリクエストデータを汎用処理テーブル33から呼び出す。そして、通信記録呼出部17は、呼び出したリクエストデータのパラメータの変数とされた箇所に具体的な値を埋め込み、再現されるリクエストデータを生成する。ここでは、ユーザIDを指すパラメータ「uid」、パスワードを指すパラメータ「pass」、部屋番号を指すパラメータ「rid」、理由を指すパラメータ[reason]が変数である。そして、再現要求がされたときのリクエストは、例えば、「start.cgi?uid=XXX&pass=XXX&rid=XXX&reason=XXX HTTP/1.0」であるとする。ユーザ1のユーザIDが「user1」、パスワードが「user1」、部屋番号が「101」、目的が「重要会議」であるとする。すると、再現要求の具体的なリクエストは、例えば、以下のようになる。
「start.cgi?uid=user1&pass=user1&rid=101&reason=重要会議 HTTP/1.0」
When receiving the reproduction request from the
“Start.cgi? Uid = user1 & pass = user1 & rid = 101 & reason = Important Conference HTTP / 1.0”
なお、再現要求は、端末2Aにあらかじめインストールされた再現実行画面から実行されても良い。図10は、再現要求画面の一例を示す図である。図10に示すように、タイトルとして、「ID」、「パスワード」、「部屋番号」、「目的」が表されている。「ID」は、パラメータのユーザIDに相当する。「パスワード」は、パラメータのパスワードに相当する。「部屋番号」は、パラメータの部屋番号に相当する。「目的」は、パラメータの目的に相当する。そして、t0部分が各パラメータに対する具体的な内容を入力する領域となる。そして、実行ボタンが押下されることで、再現要求がされる。
The reproduction request may be executed from a reproduction execution screen installed in advance on the
また、端末2Aから再現要求がされると、権限切替記録呼出部19は、再現しようとしているリクエストデータの通信番号が権限切替記録テーブル32に記録された権限切替開始32cの番号と一致するか否かを判定する。ここでは、権限切替開始32cの番号が「3」である。
When a reproduction request is made from the
通信番号1、2について、権限切替記録呼出部19は、再現しようとしているリクエストデータの通信番号が権限切替開始32cの番号と一致しないと判定する。すなわち、権限切替記録呼出部19は、再現しようとしているリクエストデータが権限切替を開始したタイミングでないと判断する。そこで、記録再現部18が、通信番号1、2について、順番に、再現されるリクエストデータをウェブサーバ3に送信する。
For the
通信番号3について、権限切替記録呼出部19は、再現しようとしているリクエストデータの通信番号が権限切替開始32cの番号と一致していると判定する。すなわち、権限切替記録呼出部19は、再現しようとしているリクエストデータが権限切替を開始したタイミングであると判断する。そこで、トークン発行部20は、トークンを発行し、発行したトークンを端末2Aに対して通知し、通信先を切り替えさせる。ここでは、発行されたトークンの識別子は「abcde」であるとする。
For the
そして、権限切替再現部21は、切り替えられた端末2Bからトークン及び認証情報を含むリクエストを受け取る。トークン及び認証情報を含むリクエストの具体例は、後述する。
Then, the authority switching
そして、権限切替再現部21は、受け取ったトークンが「abcde」であるとすると、トークン発行部20によって発行されたトークンと一致しているので、受け取った認証情報を、認証に関わるリクエストデータに埋め込む。そして、権限切替再現部21は、再現されるリクエストデータを生成する。ここでは、認証に関わるリクエストデータは、権限切替記録テーブル32に記録された認証32bの番号「2」に該当する汎用化されたリクエストデータである。再現されるリクエストデータは、「GET login.cgi?uid=user2 pass=user2 HTTP/1.0」となる。そして、権限切替再現部21は、再現されるリクエストデータをウェブサーバ3に送信する。これにより、ユーザ2に権限が切り替えられる。
Then, if the received token is “abcde”, the authority switching
そして、権限切替再現部21は、権限切替が開始されてから終了されるまでの通信記録を再現する。ここでは、権限切替再現部21は、権限切替記録テーブル32に記録された権限記録情報に基づいて、権限切替開始32cの番号「3」から権限切替終了32dの番号「3」までの、再現されるリクエストデータをウェブサーバ3に送信する。再現されるリクエストデータは、「GET cancel.cgi?rid=101 HTTP/1.0」である。これにより、権限切替再現部21は、ユーザ2に切り替わった権限で部屋番号「101」をキャンセルすることができる。
Then, the authority switching
その後、権限切替再現部21は、権限を元のユーザ1に戻す。再現されるリクエストデータは、「GET login.cgi?uid=user1 pass=user1 HTTP/1.0」となる。そして、権限切替再現部21は、再現されるリクエストデータをウェブサーバ3に送信する。これにより、ユーザ1に権限が元に戻される。
Thereafter, the authority switching
そして、通信番号4について、権限切替記録呼出部19が、再現しようとしているリクエストデータの通信番号4が権限切替開始32cの番号「3」と一致しないので、再現しようとしているリクエストデータが権限切替を開始したタイミングでないと判断する。そこで、記録再現部18が、通信番号4について、再現されるリクエストデータをウェブサーバ3に送信する。これにより、端末2Aのユーザ1は、部屋番号101を予約することができる。
For the
ここで、権限切替の認証情報を取得する方法を、図11を参照して説明する。図11は、権限切替の認証情報を取得する方法を説明する図である。なお、図11では、端末Aが中継装置1に対してHTTP(HyperText Transfer Protocol)を用いて再現要求を送信する。
Here, a method for acquiring authentication information for authority switching will be described with reference to FIG. FIG. 11 is a diagram for explaining a method for acquiring authentication information for authority switching. In FIG. 11, the terminal A transmits a reproduction request to the
図11に示すように、中継装置1のトークン発行部20は、トークン(識別子:「abcde」)を、HTTPと異なる方式を用いて端末Aに対して送信する。例えば、トークン発行部20は、MMS(Multimedia Messaging Service)を用いて端末Aに対して送信することができる。
As illustrated in FIG. 11, the
トークンを受け取った端末Aのアプリは、代理実行を依頼したい相手の端末(端末B)に対して、受け取ったトークンを含む代理実行を依頼する旨の情報を通知する。ここでは、例えば、端末のアプリは、近距離通信を可能とするNFC(Near Field Communication)を用いて代理実行を依頼したい相手の端末(端末B)に対して、情報を通知することができる。 The application of the terminal A that has received the token notifies the partner terminal (terminal B) that the proxy execution is requested to request information for requesting the proxy execution including the received token. Here, for example, the application of the terminal can notify the information to the terminal (terminal B) of the partner who wants to request proxy execution using NFC (Near Field Communication) that enables near field communication.
トークンを含む代理実行を依頼する旨の情報を受け取った端末Bのアプリは、認証情報を生成する。そして、端末Bのアプリは、トークン及び認証情報を含むリクエストを中継装置1に対して送信する。例えば、トークン及び認証情報を含むリクエストは、「delegate.cgi?uid=XXX&pass=XXX&tokun=xxx」である。ユーザ2のユーザIDが「user2」、パスワードが「user2」であるとすると、具体的なリクエストは、例えば、以下のようになる。
「delegate.cgi?uid=user2&pass=user2&tokun=abcde」
The application of the terminal B that has received information requesting proxy execution including a token generates authentication information. Then, the application of the terminal B transmits a request including the token and the authentication information to the
“Delegate.cgi? Uid = user2 & pass = user2 & tokun = abcde”
トークン及び認証情報を含むリクエストを受け取った権限切替再現部21は、受け取ったトークンがトークン発行部20によって発行されたトークンと一致していれば、受け取った認証情報を用いて権限を切り替える。
Upon receiving the request including the token and the authentication information, the authority switching
これにより、中継装置1は、特定の部屋番号が既にユーザ2によって予約されていても、予約したユーザ2の端末からユーザ2によってユーザ2の権限に切り替えさせることができる。したがって、中継装置1は、協調型ウェブアプリの場合であっても、セキュリティを担保しつつ、操作を再現することが可能となる。
Thereby, even if the specific room number is already reserved by the
なお、中継装置1のトークン発行部20は、トークンを、端末Aに対して送信するようにしたが、これに限定されない。例えば、トークン発行部20は、トークンの情報を含んだ代理実行入力支援画面を送信するようにしても良い。図12は、代理実行入力支援画面の一例を示す図である。図12に示すように、タイトルとして、「uid」、「pass」が表されている。「uid」は、ユーザIDに相当する。「pass」は、パスワードに相当する。「token」は、トークンの情報に相当し、トークンの識別子「abcde」が表示されている。そして、t1部分が各パラメータに対する具体的な内容を入力する領域となる。そして、端末Bでは、送信ボタンが押下されると、トークン及び認証情報を含むリクエストが中継装置1に対して送信される。
Although the
[スクリプト挿入部による処理手順]
次に、スクリプト挿入部14による処理手順を、図13を参照して説明する。図13は、スクリプト挿入部による処理のフローチャートを示す図である。なお、通信記録処理の際、スクリプト挿入部14は、リクエストデータに対応するレスポンスデータを受信したものとする。
[Processing procedure by script insertion part]
Next, the processing procedure by the
スクリプト挿入部14は、権限切替記録テーブル32に記録された権限切替情報から最新の権限切替番号32aを持つ権限切替情報を取得する(ステップS101)。そして、スクリプト挿入部14は、取得した権限切替情報を参照し、権限切替中であるか否かを判定する(ステップS102)。例えば、スクリプト挿入部14は、取得した最新の権限切替情報の認証32b、権限切替開始32cまたは権限切替終了32dに記録番号が設定されているか否かを判定する。
The
権限切替中でないと判定した場合(ステップS102;No)、スクリプト挿入部14は、権限切替開始通知及び認証通知に関わるスクリプトをレスポンスデータに挿入する(ステップS103)。権限切替中でない場合とは、例えば、権限切替終了32dに記録番号が設定されている場合、認証32bに記録番号が設定され、且つ権限切替開始32cおよび権限切替終了32dに記録番号が設定されていない場合、行数が0であった場合である。
When it is determined that the authority is not being switched (step S102; No), the
一方、権限切替中であると判定した場合(ステップS102;Yes)、スクリプト挿入部14は、権限切替終了通知に関わるスクリプトをレスポンスデータに挿入する(ステップS104)。権限切替中である場合とは、例えば、権限切替開始32cに記録番号が設定され、且つ権限切替終了32dに記録番号が設定されていない場合である。
On the other hand, if it is determined that the authority is being switched (step S102; Yes), the
このようにして、スクリプト挿入部14は、受信したレスポンスデータに、所定のタイミングであることを端末2Aに通知させるためのスクリプトを挿入する。
In this manner, the
[権限切替記録部による処理手順]
次に、権限切替記録部15による処理手順を、図14を参照して説明する。図14は、権限切替記録部による処理のフローチャートを示す図である。なお、端末2Aのスクリプトから所定の通知内容が送信されたものとする。
[Processing procedure by authority switching recording unit]
Next, the processing procedure by the authority switching
権限切替記録部15は、端末2Aから通知内容を取得する(ステップS111)。そして、権限切替記録部15は、通信記録テーブル31に記録された通信記録情報から最新の記録番号を取得する(ステップS112)。ここでは、最新の記録番号をmとする。
The authority switching
続いて、権限切替記録部15は、取得した通知内容が「認証通知」であるか否かを判定する(ステップS113)。通知内容が「認証通知」であると判定した場合(ステップS113;Yes)、権限切替記録部15は、新規の権限切替情報を追加して、最新の権限切替番号を設定する(ステップS114)。そして、権限切替記録部15は、m+1の番号を認証番号として認証32bに設定する(ステップS115)。すなわち、権限切替記録部15は、次の操作(リクエストデータ)が認証であると判断する。
Subsequently, the authority switching
一方、通知内容が「認証通知」でないと判定した場合(ステップS113;No)、権限切替記録部15は、通知内容が「権限切替開始」であるか否かを判定する(ステップS116)。通知内容が「権限切替開始」であると判定した場合(ステップS116;Yes)、権限切替記録部15は、m+1の番号を権限切替開始番号として権限切替開始32cに設定する(ステップS117)。すなわち、権限切替記録部15は、次の操作(リクエストデータ)が他の権限で行われる最初の操作であると判断する。
On the other hand, when it is determined that the notification content is not “authentication notification” (step S113; No), the authority switching
一方、通知内容が「権限切替開始」でないと判定した場合(ステップS116;No)、権限切替記録部15は、通知内容が「権限切替終了」であるか否かを判定する(ステップS118)。通知内容が「権限切替終了」であると判定した場合(ステップS118;Yes)、権限切替記録部15は、mの番号を権限切替終了番号として権限切替終了32dに設定する(ステップS119)。すなわち、権限切替記録部15は、最新の操作(リクエストデータ)が他の権限で行われる最後の操作であると判断する。
On the other hand, when it is determined that the notification content is not “authority switching start” (step S116; No), the authority switching
一方、通知内容が「権限切替終了」でないと判定した場合(ステップS118;No)、権限切替記録部15は、送信元の端末2Aにエラーを返す(ステップS120)。
On the other hand, when it is determined that the notification content is not “end of authority switching” (step S118; No), the authority switching
このようにして、権限切替記録部15は、端末2Aからの通知内容に応じて、権限切替記録テーブル32に記録される権限切替情報を生成する。
In this manner, the authority switching
[権限切替記録呼出部による処理手順]
次に、権限切替記録呼出部19による処理手順を、図15を参照して説明する。図15は、権限切替記録呼出部による処理のフローチャートを示す図である。なお、再現処理では、汎用処理テーブル33に記録された通信番号の順に、再現されるリクエストデータが再現される。
[Processing procedure by the authority switching record calling unit]
Next, a processing procedure by the authority switching
権限切替記録呼出部19は、再現しようとしているリクエストデータの通信番号33aを取得する(ステップS131)。そして、権限切替記録呼出部19は、取得した通信番号33aが権限切替記録テーブル32に記録された権限切替情報の権限開始番号32cと一致するかを確認する(ステップS132)。そして、権限切替記録呼出部19は、確認した結果、番号が一致しているか否かを判定する(ステップS133)。
The authority switching
番号が一致していると判定した場合(ステップS133;Yes)、権限切替記録呼出部19は、トークン発行部20に権限切替情報の権限切替番号32aを通知するとともに、トークンの発行を依頼する(ステップS134)。一方、番号が一致していないと判定した場合(ステップS133;No)、権限切替記録呼出部19は、処理を終了する。
When it is determined that the numbers match (step S133; Yes), the authority switching
[トークン発行部による処理手順]
次に、トークン発行部20による処理手順を、図16を参照して説明する。図16は、トークン発行部による処理のフローチャートを示す図である。なお、権限切替記録呼出部19が、権限切替番号32aを通知するとともに、トークンの発行を依頼したものとする。
[Processing procedure by token issuing unit]
Next, the processing procedure by the
トークン発行部20は、権限切替記録呼出部19から権限切替番号を受け取る(ステップS141)。そして、トークン発行部20は、システム内で一意となるトークンの文字列を発行する(ステップS142)。そして、トークン発行部20は、トークン管理テーブル34に、トークン文字列と権限切替番号32aを対応付けて記録する(ステップS143)。
The
そして、トークン発行部20は、端末2Aに、発行したトークンを通知する(ステップS144)。
Then, the
[権限切替再現部による処理手順]
次に、権限切替再現部21による処理手順を、図17を参照して説明する。図17は、権限切替再現部による処理のフローチャートを示す図である。なお、切り替えられた端末2Bからトークン及び認証情報を含むリクエストが送信されたものとする。認証情報には、切り替えられた通信先のユーザID及びパスワードが設定されている。
[Processing procedure by authority switching reproduction unit]
Next, a processing procedure by the authority switching
権限切替再現部21は、切り替えられた端末2Bからトークンと認証情報を含むリクエストを受け取る(ステップS151)。そして、権限切替再現部21は、トークン管理テーブル34から該当するトークン文字列があるかを探索する(ステップS152)。権限切替再現部21は、探索の結果、該当するトークン文字列があるか否かを判定する(ステップS153)。
The authority switching
該当するトークン文字列がないと判定した場合(ステップS153;No)、権限切替再現部21は、トークンを含むリクエストの送信元である端末2Bにエラーを返す(ステップS158)。
When it is determined that there is no corresponding token character string (step S153; No), the authority switching
一方、該当するトークン文字列があると判定した場合(ステップS153;Yes)、権限切替再現部21は、トークン管理テーブル34からトークン文字列と対応付けられた権限切替番号を取得する。そして、権限切替再現部21は、取得した権限切替番号に対応する権限切替情報を権限切替記録テーブル32から取得する(ステップS154)。
On the other hand, when it is determined that there is a corresponding token character string (step S153; Yes), the authority switching
続いて、権限切替再現部21は、認証情報を用いて、権限切替情報の認証番号に該当する通信を再現する(ステップS155)。例えば、権限切替再現部21は、汎用処理テーブル33から、権限切替情報の認証32bが示す番号に該当する汎用化されたリクエストデータ33bを取得する。そして、権限切替再現部21は、取得したリクエストデータに認証情報を埋め込み、再現されるリクエストデータを生成する。そして、権限切替再現部21は、生成したリクエストデータをウェブサーバ3に送信する。
Subsequently, the authority switching
続いて、権限切替再現部21は、権限切替情報の権限切替開始番号から権限切替終了番号までの通信を再現する(ステップS156)。例えば、権限切替再現部21は、権限切替情報の権限切替開始32cが示す番号から権限切替情報の権限切替終了32dが示す番号までのそれぞれの再現されるリクエストデータを順番にウェブサーバ3に送信する。再現されるリクエストデータは、各番号に該当する汎用化されたリクエストデータ33bに具体的な内容が埋め込まれたリクエストデータであり、例えば通信記録呼出部17によって行われる。
Subsequently, the authority switching
そして、権限切替再現部21は、トークン破棄部22にトークンの破棄を依頼する(ステップS157)。例えば、権限切替再現部21は、トークン管理テーブル34から該当するトークン文字列に対応する情報を削除する。
Then, the authority switching
[実施例の効果]
上記実施例によれば、中継装置1は、端末2Aからウェブサーバ3に送信されたリクエストデータと当該ウェブサーバ3から受信したレスポンスデータとを通信記録テーブル31に記録する。そして、中継装置1は、通信先の端末が切り替えられてから処理されるリクエストデータに関する情報である切替情報を権限切替記録テーブル32に記録する。そして、中継装置1は、権限切替記録テーブル32に記録された切替情報に基づいて、通信先の端末を切り替え、通信記録テーブル31に記録されたリクエストデータ及びレスポンスデータを再現する。かかる構成によれば、中継装置1は、あらかじめ記録された切替情報に基づいて、通信先の端末を切り替えるようにしたので、同じ端末2Aから複数人の認証情報を送らなくても、協調型ウェブアプリに係る操作を再現できる。例えば、ユーザAの端末2Aに対して再現に関わるユーザBが自身の認証情報を渡してしまった場合に、ユーザAが、ユーザBのいない時でも許可なくユーザBの認証情報を利用することを防止できる。この結果、中継装置1は、協調型ウェブアプリに係る操作であっても、セキュリティを担保しつつ、再現することができる。
[Effect of Example]
According to the above embodiment, the
また、上記実施例によれば、中継装置1は、識別番号を備えるリクエストデータについて、通信先の端末2Aが切り替えられてから処理されるリクエストデータの切替開始の識別番号及び切替終了の識別番号を切替情報として権限切替記録テーブル32に記録する。そして、中継装置1は、端末2Aから再現要求を受け取ると、再現されるリクエストデータの識別番号が切替情報に記録された切替開始の識別番号と一致するか否かを判定する。そして、中継装置1は、一致すると判定した場合、端末2Aに通信先を切り替えさせ、切り替えられた通信先からの切り替えに関わる認証情報に応じて当該リクエストデータを再現する。かかる構成によれば、中継装置1は、端末2Aに通信先を切り替えさせ、切り替えられた通信先からの当該通信先に関する認証情報を取得できるので、認証情報に応じて権限を切り替えることができ、切り替えた権限でリクエストデータを再現できる。したがって、中継装置1は、同じ端末2Aから複数人の認証情報を送らなくても、協調型ウェブアプリに係る操作を再現できる。
Further, according to the above-described embodiment, the
また、上記実施例によれば、中継装置1は、リクエストデータの識別番号が切替情報に記録された切替開始の識別番号と一致すると判定した場合、端末2Aに対してトークンを発行する。そして、中継装置1は、発行したトークンを用いて端末2Aに通信先を切り替えさせ、切り替えられた通信先からの切り替えに関わる認証情報に応じて当該リクエストデータを再現する。かかる構成によれば、中継装置1は、トークンを用いることで、端末2Aから別の端末へ通信先を切り替えさせ、切り替え先の認証情報を取得できるので、同じ端末2Aから複数人の認証情報を送らなくても、協調型ウェブアプリに係る操作を容易に再現できる。
Further, according to the above embodiment, the
また、上記実施例によれば、中継装置1は、通信記録処理の際、レスポンスデータを受信すると、切替情報を参照し、切替開始の識別番号が記録されているか否かを判定する。そして、中継装置1は、切替開始の識別番号が記録されていないと判定した場合、通信先の切り替えを要するリクエストデータの場合に通信先の切り替えの変更があることを端末2Aに通知させるためのスクリプトデータを、受信したレスポンスデータに挿入する。そして、中継装置1は、スクリプトデータを挿入したレスポンスデータを端末2Aに送信し、端末2Aからの通知に応じて切替情報を更新する。かかる構成によれば、中継装置1は、通信記録処理の際、通信先の切り替えの変更があるタイミングを切替情報に設定するので、通信記録を再現する際、切替情報を用いて通信先の切り替えの変更をすることが可能となる。
Also, according to the above embodiment, when receiving the response data during the communication recording process, the
[プログラム等]
なお、中継装置1は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置に、上記した制御部10等の各機能を搭載することによって実現することができる。
[Programs]
The
また、中継装置1は、通信記録処理と再現処理とを有するとして説明した。しかしながら、通信記録処理と再現処理とは、同じ中継装置でなくとも良く、別々の中継装置に有するとしても良い。かかる場合、通信記録テーブル31、権限切替記録テーブル32および汎用処理テーブル33が、それぞれの中継装置から共有できるようにすれば良い。
Further, the
また、図示した各装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的態様は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、通信記録部13とスクリプト挿入部14とを1個の部として統合しても良いし、権限切替再現部21とトークン破棄部22とを1個の部として統合しても良い。一方、権限切替再現部21を、権限切替の通信を再現する処理部と、権限切替が開始されてから終了されるまでの通信を再現する処理部とに分散しても良い。また、通信記録テーブル31、権限切替記録テーブル32及び汎用処理テーブル33を中継装置1の外部装置としてネットワーク経由で接続するようにしても良い。
In addition, each component of each illustrated apparatus does not necessarily need to be physically configured as illustrated. That is, the specific mode of distribution / integration of each device is not limited to that shown in the figure, and all or a part thereof may be functionally or physically distributed or arbitrarily distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured. For example, the
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することによって実現することができる。そこで、以下では、図18を用いて、図1に示した中継装置1の制御部10と同様の機能を有する中継プログラムを実行するコンピュータの一例を説明する。
The various processes described in the above embodiments can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation. Therefore, in the following, an example of a computer that executes a relay program having the same function as the
図18は、中継プログラムを実行するコンピュータを示す図である。図18に示すように、コンピュータ1000は、RAM(Random Access Memory)1010と、ネットワークインタフェース装置1020と、HDD1030と、CPU(Central Processing Unit)1040、媒体読取装置1050及びバス1060とを有する。RAM1010、ネットワークインタフェース装置1020、HDD1030、CPU1040、媒体読取装置1050は、バス1060によって接続されている。
FIG. 18 is a diagram illustrating a computer that executes a relay program. As illustrated in FIG. 18, the
そして、HDD1030には、図1に示した制御部10と同様の機能を有する中継プログラム1031が記憶される。また、HDD1030には、図1に示した通信記録テーブル31、権限切替記録テーブル32、汎用処理テーブル33及びトークン管理テーブル34に対応する中継処理関連情報1032が記憶される。
The
そして、CPU1040が中継プログラム1031をHDD1030から読み出してRAM1010に展開することにより、中継プログラム1031は、中継プロセス1011として機能するようになる。そして、中継プロセス1011は、中継処理関連情報1032から読み出した情報等を適宜RAM1010上の自身に割り当てられた領域に展開し、この展開したデータ等に基づいて各種データ処理を実行する。
Then, the
媒体読取装置1050は、中継プログラム1030がHDD1030に格納されていない場合であっても中継プログラム1030を記憶する媒体等から中継プログラム1031を読み取る。媒体読取装置1050には、例えばCD−ROMや光ディスク装置がある。また、ネットワークインタフェース装置1020は、外部装置とネットワーク経由で接続する装置であり、有線、無線がある。
The
なお、上記の中継プログラム1031は、必ずしもHDD1030に格納されている必要はなく、CD−ROM等の媒体読取装置1050に記憶されたこのプログラムを、コンピュータ1000が読み出して実行するようにしてもよい。また、公衆回線、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)等を介してコンピュータ1000に接続される他のコンピュータ(またはサーバ)等にこのプログラムを記憶させておいても良い。この場合には、コンピュータ1000がネットワークインタフェース装置1020を介してこれらからプログラムを読み出して実行する。
Note that the
1 中継装置
10 制御部
11 端末通信部
12 外部サービス通信部
13 通信記録部
14 スクリプト挿入部
15 権限切替記録部
16 汎用化部
17 通信記録呼出部
18 記録再現部
19 権限切替記録呼出部
20 トークン発行部
21 権限切替再現部
22 トークン破棄部
31 通信記録テーブル
32 権限切替記録テーブル
33 汎用処理テーブル
34 トークン管理テーブル
2A、2B 端末
3 ウェブサーバ
41 ウェブアプリケーション
9 ウェブ中継システム
DESCRIPTION OF
Claims (6)
前記クライアント端末から前記ウェブサーバに送信されたリクエストデータと当該ウェブサーバから受信したレスポンスデータとを記憶装置に記録し、
通信先のクライアント端末が切り替えられてから処理されるリクエストデータに関する情報である切替情報を前記記憶装置に記録し、
前記記憶装置に記録された切替情報に基づいて、通信先のクライアント端末を切り替え、前記記憶装置に記録されたリクエストデータ及びレスポンスデータを再現する
ことを特徴とする中継方法。 A relay method in which a relay device relays communication between a client terminal and a web server that executes a web application,
Record the request data transmitted from the client terminal to the web server and the response data received from the web server in a storage device,
Record switching information, which is information related to request data processed after the communication destination client terminal is switched, in the storage device,
A relay method comprising: switching a communication destination client terminal based on switching information recorded in the storage device and reproducing request data and response data recorded in the storage device.
前記再現する処理は、前記クライアント端末から再現要求を受け取ると、再現されるリクエストデータの識別情報が前記切替情報に記録された切替開始の識別情報と一致するか否かを判定し、当該リクエストデータの識別情報が前記切替情報に記録された切替開始の識別情報と一致すると判定した場合、前記クライアント端末に通信先を切り替えさせ、切り替えられた通信先からの当該通信先に関する情報に応じて当該リクエストデータを再現する
ことを特徴とする請求項1に記載の中継方法。 The process of recording the switching information includes, as request information including identification information, identification information for switching start and switching end of request data processed after the communication destination client terminal is switched as the switching information. Record in storage,
When the reproduction process receives a reproduction request from the client terminal, it determines whether or not the identification information of the request data to be reproduced matches the switching start identification information recorded in the switching information, and the request data If it is determined that the identification information matches the switching start identification information recorded in the switching information, the client terminal is caused to switch the communication destination, and the request is made according to information about the communication destination from the switched communication destination. The relay method according to claim 1, wherein the data is reproduced.
ことを特徴とする請求項2に記載の中継方法。 In the case where it is determined that the identification information of the request data matches the switching start identification information recorded in the switching information, the reproducing process issues a token to the client terminal, and uses the issued token to The relay method according to claim 2, wherein the client terminal is caused to switch the communication destination, and the request data is reproduced according to information on the communication destination from the switched communication destination.
ことを特徴とする請求項1に記載の中継方法。 In the process of recording the switching information, when the response data is received in the process of recording the request data and the response data, the switching information is referred to, and it is determined whether or not the switching start identification information is recorded. If it is determined that the switching start identification information is not recorded, the script data for notifying the client terminal that there is a change in the communication destination switching is received in the case of request data that requires the switching of the communication destination. The relay method according to claim 1, wherein the switching information is inserted into the response data and transmitted to the client terminal, and the switching information is updated in response to a notification from the client terminal.
前記クライアント端末から前記ウェブサーバに送信されたリクエストデータと当該ウェブサーバから受信したレスポンスデータとを記録する第1の記憶部と、
通信先のクライアント端末が切り替えられてから処理されるリクエストデータに関する情報である切替情報を記録する第2の記憶部と、
前記第2の記憶部に記録された切替情報に基づいて、通信先のクライアント端末を切り替え、前記第1の記憶部に記録されたリクエストデータ及びレスポンスデータを再現する再現部と、
を有することを特徴とする中継装置。 A relay device that relays communication between a client terminal and a web server that executes a web application,
A first storage unit that records request data transmitted from the client terminal to the web server and response data received from the web server;
A second storage unit that records switching information that is information related to request data processed after the communication destination client terminal is switched;
Based on the switching information recorded in the second storage unit, the communication destination client terminal is switched, and a reproduction unit that reproduces the request data and response data recorded in the first storage unit,
A relay apparatus comprising:
クライアント端末からウェブアプリケーションを実行するウェブサーバに送信されたリクエストデータと当該ウェブサーバから受信したレスポンスデータとを記憶装置に記録し、
通信先のクライアント端末が切り替えられてから処理されるリクエストデータに関する情報である切替情報を前記記憶装置に記録し、
前記記憶装置に記録された切替情報に基づいて、通信先のクライアント端末を切り替え、前記記憶装置に記録されたリクエストデータ及びレスポンスデータを再現する
処理を実行させることを特徴とする中継プログラム。 On the computer,
Record the request data transmitted from the client terminal to the web server that executes the web application and the response data received from the web server in the storage device,
Record switching information, which is information related to request data processed after the communication destination client terminal is switched, in the storage device,
A relay program for switching a communication destination client terminal based on switching information recorded in the storage device, and executing processing for reproducing request data and response data recorded in the storage device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012261585A JP5949502B2 (en) | 2012-11-29 | 2012-11-29 | Relay method, relay device, and relay program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012261585A JP5949502B2 (en) | 2012-11-29 | 2012-11-29 | Relay method, relay device, and relay program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014106911A JP2014106911A (en) | 2014-06-09 |
JP5949502B2 true JP5949502B2 (en) | 2016-07-06 |
Family
ID=51028299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012261585A Expired - Fee Related JP5949502B2 (en) | 2012-11-29 | 2012-11-29 | Relay method, relay device, and relay program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5949502B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115185445A (en) | 2019-04-17 | 2022-10-14 | 华为技术有限公司 | Method for adding annotations and electronic equipment |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006011493A1 (en) * | 2004-07-30 | 2006-02-02 | Sharp Kabushiki Kaisha | Communication network control system |
JP2010205111A (en) * | 2009-03-05 | 2010-09-16 | Nippon Telegr & Teleph Corp <Ntt> | System, and method for reproducing context, first terminal device, second terminal device, context obtaining device or storage device, program thereof |
JP5699721B2 (en) * | 2010-08-30 | 2015-04-15 | 富士通株式会社 | Request processing program, request processing apparatus, and request processing method |
-
2012
- 2012-11-29 JP JP2012261585A patent/JP5949502B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2014106911A (en) | 2014-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4186987B2 (en) | Database access control method, database access control device, database access control program, and recording medium storing the program | |
JP6166596B2 (en) | Authorization server system, control method therefor, and program | |
JP5045417B2 (en) | Network system and direct access method | |
JP4733167B2 (en) | Information processing apparatus, information processing method, information processing program, and information processing system | |
JP2007310512A (en) | Communication system, service providing server, and user authentication server | |
JP2008181310A (en) | Authentication server and authentication program | |
JP4377679B2 (en) | Authentication server, information server, client, authentication method, authentication system, program, recording medium | |
JP5418681B2 (en) | Mediation processing method, mediation apparatus and system | |
JP6459270B2 (en) | Information processing apparatus and program | |
JP5207776B2 (en) | Authentication system, information device, authentication method, and program | |
JP5319456B2 (en) | COMMUNICATION SYSTEM, ITS CONTROL METHOD, BASE STATION DEVICE, AND PROGRAM | |
JP2009245268A (en) | Business management system | |
JP2007079992A (en) | Session management device, session management method and session management program | |
JP4768761B2 (en) | Service providing system, service providing method, and service providing program | |
JP5949502B2 (en) | Relay method, relay device, and relay program | |
JP5808643B2 (en) | Management device | |
JP2009211529A (en) | Authentication processing device, authentication processing method and authentication processing program | |
JP2006235743A (en) | Access controller, access control method and program | |
JP7200776B2 (en) | Information processing system and program | |
JP5733387B2 (en) | Management device, management program, and management method | |
JP4777758B2 (en) | Authentication system | |
JP2014026348A (en) | Information distribution system, authentication cooperation method, device, and program therefor | |
JP2011076430A (en) | System and method for managing authentication id | |
JP6378727B2 (en) | Message transmission method, message transmission program, and message transmission apparatus | |
WO2017221855A1 (en) | User authentication integration device and method, and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150706 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160428 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160510 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160523 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5949502 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |