JP2015079405A - 情報処理装置、情報処理装置の制御方法およびプログラム - Google Patents

情報処理装置、情報処理装置の制御方法およびプログラム Download PDF

Info

Publication number
JP2015079405A
JP2015079405A JP2013216928A JP2013216928A JP2015079405A JP 2015079405 A JP2015079405 A JP 2015079405A JP 2013216928 A JP2013216928 A JP 2013216928A JP 2013216928 A JP2013216928 A JP 2013216928A JP 2015079405 A JP2015079405 A JP 2015079405A
Authority
JP
Japan
Prior art keywords
service
authority
request
document
processing apparatus
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.)
Pending
Application number
JP2013216928A
Other languages
English (en)
Inventor
航一 辻本
Koichi Tsujimoto
航一 辻本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2013216928A priority Critical patent/JP2015079405A/ja
Publication of JP2015079405A publication Critical patent/JP2015079405A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

【課題】文書の生成前に、連携するサービスにふさわしい方法でユーザの利用権限を確認し、生成した文書を権限不足によって送信できない状況の発生を回避する。
【解決手段】文書生成サービスは、文書生成リクエストに応じ、文書を生成する前に、生成した文書の送信先となるサービスに応じた確認方法で、文書生成リクエストに対応するユーザが前記送信先となるサービスを利用する権限を有するか否かを確認する(S704、S709)。例えば、送信先が文書生成サービスと同じドメインのサービスなら認証サービスで権限を確認し(S704)、外部サービスなら外部サービスで権限を確認する(S709)。そして、権限を有することが確認された場合に、文書を生成し(S711)、該生成した文書を前記送信先となるサービスに送信する(S712)。
【選択図】図9

Description

本発明は、例えばクラウド上に保存されたデータをフォームオーバレイして文書を生成する情報処理装置の制御に関するものである。
近年、サーバコンピュータ側で業務データの管理や各種処理を行う形態として、クラウドコンピューティングシステムが普及し始めている。ユーザは、クライアントコンピュータ上のウェブブラウザ(以下、ブラウザ)からインターネットを介してクラウドサーバコンピュータのWebページにアクセスし、そのWebページ上で閲覧したい業務データを表示する。また、その画面からユーザが文書生成指示を行うと、文書生成サービスにリダイレクトされ、文書生成サービスから返される画面にてフォームオーバレイに使用するフォームをユーザが選択する。そして、文書生成サービスがクラウドサーバ上にあるデータを取得して文書を生成し、ユーザが指定した操作に従って、連携するクラウドサービスに送信する。また、文書生成サービスには、アプリケーションからAPIを利用して文書の生成と送信を行う機能がある。
文書生成サービスとクラウドプラットフォームサービス(以下CPS)は連携しており、文書生成サービスで生成した文書をCPS上のページへ添付することができる。文書生成サービスの属するドメインのユーザ情報は、該ドメインの認証サービスが管理しており、文書生成サービスは該認証サービスを利用することでユーザ情報の確認を行うことができる。また、CPSがシングルサインオン(以下SSO)可能なクラウドサービスであれば認証サーバから文書生成サービスのユーザと紐付いたクラウドサービスのユーザ情報を取得し、認証を行うことができる。
ブラウザを経由して又はアプリケーションからAPIを利用して、文書生成サービスに文書生成リクエストが渡されると、文書生成サービスはその文書生成リクエストに含まれる情報を用いて文書を生成する。文書生成サービスは、文書生成リクエストに含まれる文書生成後の操作(印刷、添付)に従い、生成した文書を他のクラウドサービスへ送信する。
特許文献1には、クラウドサービスから外部クラウドサービスにリダイレクトする場合、ブラウザに返すリダイレクト先が認証テーブルにあるか判定し、認証テーブルから取得した認証情報をリダイレクト先に送信し、サインオン処理する技術が提案されている。
特開2013−97744号公報
文書生成サービスが文書を送信する他のクラウドサービスには様々なものがある。例えば、文書生成サービスと同じドメインに属するクラウドサービスもあれば、別のドメインに属する外部クラウドサービスもがある。また、文書生成サービスに渡される文書生成リクエストも、ウェブブラウザを経由して渡される場合もあれば、アプリケーションからAPIを利用して渡される場合もある。
文書生成サービスから他のクラウドサービスを利用するためには、文書生成サービスを利用しているユーザが、連携するクラウドサービスの利用権限を有している必要がある。しかし、クラウドサービスごとに権限の確認方法と確認する権限の種類が異なる。このため、文書生成サービスは、連携するクラウドサービスごとにふさわしい権限確認方法で権限の確認を行う必要がある。
従来の文書生成サービスでは、文書の生成後に実際にクラウドサービスに文書を送信するまで、そのユーザに利用権限があるのか確認されていなかった。このため、生成した文書を権限不足によって送信できない状況が発生する可能性があった。この結果、送信権限がないにも関わらず文書を生成し、無駄にコンピュータ資源を浪費してしまう可能性があった。また、文書生成サービスが文書の生成に応じて課金するような構成の場合、文書生成されて課金されたが権限不足で送信できないといった事態が発生する可能性もあった。
本発明は、上記の問題点を解決するためになされたもので有る。本発明の目的は、データ生成前に、連携するサービスにふさわしい方法でユーザの利用権限を確認でき、生成したデータを権限不足によって送信できない状況の発生を回避することができる仕組みを提供することである。
本発明は、受信したリクエストに応じたデータを生成する生成手段と、前記生成手段が生成したデータを前記リクエストに応じたサービスへ送信する送信手段と、前記生成手段によるデータの生成前に、前記送信手段の送信先となるサービスに応じた確認方法で、前記リクエストに対応するユーザが前記送信先となるサービスを利用する権限を有するか否かを確認する確認手段と、を有し、前記生成手段は、前記確認手段により前記権限を有することが確認された場合に、前記データを生成することを特徴とする。
本発明によれば、データ生成前に、連携するサービスにふさわしい方法でユーザの利用権限を確認でき、生成したデータを権限不足によって送信できない状況の発生を回避することができる。この結果、送信権限がないのにデータを作成してしまい、無駄にコンピュータ資源を浪費してしまうといった事態の発生を防止できる。
本発明の一実施例を示すシステム構成を例示する図。 本システムを構成する各装置のハードウェア構成を例示する図。 文書生成サービスの属するドメインのソフトウェア構成を例示する図。 CPSのソフトウェア構成を例示する図。 文書生成リクエストの構造を例示する図。 認証サービスが保持するユーザ情報のテーブル構造を例示する図。 文書生成サービスが保持する送信先情報テーブルの構造を例示する図。 本システムにおける処理の流れを例示するシーケンス図。 実施例1における文書生成サービスの処理を例示するフローチャート。 外部サービス権限確認処理を例示するフローチャート。 ダウンロード画面を例示する図。 実施例2における文書生成サービスの処理を例示するフローチャート。 実施例3における文書生成サービスの処理を例示するフローチャート。 実施例3における権限不足の通知処理を例示するフローチャート。
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を以下の実施形態のみに限定するものではない。また、実施の形態で説明されている特徴の組み合わせの全てが発明に必須のものとは限らない。
図1は、本発明の一実施例を示すシステム構成の一例を示すブロック図である。
図1において、101はクライアント端末である。クライアント端末101は、文書生成サービス103、及び、クラウドプラットフォームサービス(以下CPS)に対してリクエストを発行する。ここで、情報処理装置である文書生成サービス103から見ると、CPS102及びプリントサービス105は外部情報処理装置である。
CPS102は、クライアント端末101や文書生成サービス103からのリクエストに応じて、保持するデータに対し更新等を行う。文書生成サービス103は、クライアント端末101からリクエストを受信して文書生成を行う。認証サービス104は、文書生成サービス103からのリクエストに応じてユーザの認証と権限の確認を行う。プリントサービス105は、文書生成サービス103からのリクエストを受信して文書の印刷・認証印刷を行う。
また、上記クライアント端末101、文書生成サービス103、認証サービス104、プリントサービス105及びCPS102は、ネットワーク100により通信可能に接続されている。ネットワークは、例えば、インターネット等のLAN、WAN、電話回線、専用デジタル回線、ATMやフレームリレー回線、ケーブルテレビ回線、データ放送用無線回線等のいずれかである。また、これらの組み合わせにより実現される、いわゆる通信ネットワークである。なお、ネットワークはデータの送受信が可能であればどのようなネットワークであってもよい。また、各装置間の通信方法はそれぞれ異なっていても構わない。本実施例では、文書生成サービス103、認証サービス104、プリントサービス105は、同一のドメインに属しているものとする。また、CPS102は、文書生成サービス103の属するドメインと異なるドメインに属しているものとする。
図2は、図1のクライアント端末101、CPS102、文書生成サービス103、認証サービス104、プリントサービス105のハードウェア構成の一例を示すブロック図である。
図2において、201はCPUで、内部バスで接続される各デバイス(後述のROM、RAM他)を直接或いは間接的に制御し、本発明を実現するためのプログラムを実行する。202はROMで、BIOS等が格納してある。203はRAM(直接記憶装置)で、CPU201のワーク領域として利用されたり、本発明を実現するためのソフトウェアモジュールをロードするための一時記憶として利用されたりする。
204はHDD(ハードディスクドライブ)もしくはSSD(ソリッドステートドライブ)などの補助記憶装置で、基本ソフトウェアであるOSやソフトウェアモジュールが記憶されている。なお、ここでは、HDDと記載するが、HDDに限定されるものではない。
205は入力装置で、キーボードやポインティングデバイスなどである。206は出力装置で、ディスプレイが接続される。207はネットワーク100に接続するためのI/Fである。
これらハードウェアでは、起動後に、CPU201によりBIOSが実行されオペレーティングシステム(OS)がHDD204からRAM203に実行可能にロードされる。CPU201は、OSの動作に従って後述する各種ソフトウェアモジュールをHDD204からRAM203に随時、実行可能にロードする。各種ソフトウェアモジュールは、上記各デバイスの協調により、CPU201によって実行され動作する。これにより、後述する図4〜図10に示すソフトウェア構成及び後述するフローチャートの各ステップの処理が実現される。また、I/F207はネットワーク100に接続されており、OSの動作に従ってCPU201により制御され、上述したような通信を実現している。
以下、図3を用いて、文書生成サービスの属するドメインのソフトウェアモジュール構成を例示する。
図3は、文書生成サービス103、認証サービス104及びプリントサービス105上で動作するソフトウェアモジュールの構成の一例を示す図である。
文書生成サービス103は、送受信部301、制御部302、ページ生成部303、フォーム管理部304、文書生成部305、認証部306、DB307を有する。これらソフトウェアモジュール301〜306は、文書生成サービス103のHDD204にプログラムとして記憶されており、前述したようにCPU201によってRAM203にロードされ実行されることにより機能する。また、DB307は、文書生成サービス103のHDD204内の記憶領域として実現される。
送受信部301は、クライアント端末101や、認証サービス104、プリントサービス105との通信を処理する。制御部302は、送受信部301が受け付けたリクエストに従って処理を実行する。ページ生成部303は、ウェブブラウザ(以下ブラウザ)にレスポンスを返すためのWebページを生成する。フォーム管理部304は、制御部302からの要求に応じてフォームデータの登録、取得、更新、削除を行う。文書生成部305は、制御部302からの要求に応じてフォームデータと業務データから文書の生成を行う。認証部306は、制御部302からの要求に応じて送受信部301とDB307に保存された送信先情報を用いてユーザの認証等を行う。
認証サービス104は、送受信部310、制御部308、ユーザ管理部309、DB311を有する。これらソフトウェアモジュール308〜310は、認証サービス104のHDD204にプログラムとして記憶されており、前述したようにCPU201によってRAM203にロードされ実行されることにより機能する。また、DB311は、認証サービス104のHDD204内の記憶領域として実現される。
送受信部310は、文書生成サービス103、プリントサービス105との通信を処理する。制御部308は、送受信部310が受け付けたリクエストに従って処理を実行する。ユーザ管理部309は、制御部308からの要求に応じてDB311に保存されたユーザデータの登録、取得、更新、削除を行う。
プリントサービス105は、送受信部313、制御部314、ページ生成部315、プリンタ管理部316、PDL生成部317、認証部318を有する。これらソフトウェアモジュール313〜318は、プリントサービス105のHDD204にプログラムとして記憶されており、前述したようにCPU201によってRAM203にロードされ実行されることにより機能する。
送受信部313は、クライアント端末101や、文書生成サービス103との通信を処理する。制御部314は、送受信部313が受け付けたリクエストに従って処理を実行する。ページ生成部315は、ブラウザにレスポンスを返すためのWebページを生成する。プリンタ管理部316は、制御部314からの要求に応じてプリンタデータの登録、取得、更新、削除を行う。PDL生成部317は、制御部314からの要求に応じて文書からPDL(Page Description Language)データの生成を行う。認証部318は、制御部314からの要求に応じて送受信部313を用いてユーザの認証を行う。
図4は、CPS102上で動作するソフトウェアモジュールの構成の一例を示す図である。
CPS102は、送受信部401、制御部402、ページ生成部403、セッション管理部404、認証部405、データ管理部406、設定管理部407、DB408を有する。これらソフトウェアモジュール401〜407は、CPS102のHDD204にプログラムとして記憶されており、前述したようにCPU201によってRAM203にロードされ実行されることにより機能する。また、DB408は、CPS102のHDD204内の記憶領域として実現される。
送受信部401は、クライアント端末101や文書生成サービス103との通信を処理する。制御部402は、送受信部401が受け付けたリクエストに従って処理を実行する。ページ生成部403は、クライアント端末101にレスポンスを返すためのWebページを生成する。認証部405は、ログイン要求してきたユーザを認証する。セッション管理部404は、認証部405にて認証に成功したユーザのセッション情報を管理する。
データ管理部406は、業務データをDB408に保持し、要求に応じてDB408から業務データの取得又は業務データの更新を行う。設定管理部407は、文書生成サービス103へのリダイレクトを行うための設定を保持する。DB408は、管理ユーザデータや業務データを格納する。CPS102は、これら各構成要素の協調により、後述する処理を実行する。
以下、DB408に格納される管理ユーザデータや業務データについて説明する。
管理ユーザデータや業務データは、企業・組織(以降、組織と表記)毎に管理される。各組織には、組織IDが自動的に割り当てられ、組織IDとともに各データが管理される。ユーザ認証時、認証部405は、ユーザが所属する組織の組織IDを取得し、セッション管理部404に保存する。以降のデータ取得等の処理は、組織IDをもとに行われ、組織IDの一致するデータのみを参照することが可能となっている。
また、DB408には、文書生成サービス103へのリダイレクトを行うための設定も格納される。DB408に格納された業務データや文書生成サービス103へリダイレクトを行うための設定は、クライアント端末101を介して、ユーザ(管理者)により任意のタイミングで設定更新が行われる。
図5は、クライアント端末101上で動作するブラウザまたはアプリケーションが文書生成サービス103に送信する文書生成リクエストの構造の一例を示す図である。
文書生成リクエストは、フォームデータID901、業務データ906、操作902、ユーザID903、組織ID907、文書名904を含み、外部サービスへ送信する場合にはさらにアクセストークン905を含む。
フォームデータID901は、文書を生成する為に必要なフォームデータを指定するためのものである。操作902は、生成した文書に対する操作名を指定するためのものであり、この操作902に応じて、生成した文書の送信先が特定される。ユーザID903と組織ID907は、文書生成サービス103で認証するためのものである。文書名904は、生成した文書に付ける文書名を示す。アクセストークン905は、外部サービスに対するアクセス用のトークンである。業務データ906は、文書を生成する為に必要なデータを指定するためのものである。なお、業務データ906は、CPS102が管理するデータを指定してもよいし、他のデータを指定してもよい。
図6は、認証サービス104のユーザ管理部309が保持するユーザに関するデータ(ユーザ情報)のテーブル構造の一例を示す図である。
図6に示すように、ユーザ情報は、ユーザ情報テーブル1000で管理される。ユーザ情報テーブル1000は、ユーザ情報レコード1001等によって構成されている。
ユーザ情報レコード1001(1100)は、レコードの識別子であるユーザID1101、SSO情報1102、ロール1103、ユーザに通知するためのメールアドレス1104、組織ID1105等で構成される。ロール1103は、ユーザの使用することが出来る範囲を示すものであり、例えば、ロールに文書生成権限や生成後に送信するサービスの権限等が設定されている。
SSO情報1102は、SSO情報テーブル1200等によって構成される。SSO情報テーブル1200は、SSO情報レコード1201等によって構成される。SSO情報レコード1201は、SSOレコード1300等によって構成され、文書生成サービスのユーザと紐付いたCPS102等の外部サービスのユーザ情報(認証情報)を管理する。SSOレコード1300は、外部サービス名1301、APIを使用するためのエンドポイントURL1302、外部サービスユーザID1303、外部サービスパスワード1304等によって構成される。
図7は、文書生成サービス103の保持する送信先情報テーブル1700と送信先レコード1800の構造の一例を示す図である。
送信先情報テーブル1700は、文書生成サービス103の保持する文書生成後の操作に関するデータを管理する。送信先情報テーブル1700は、操作レコード1701等によって構成される。操作レコード1701は、送信先レコード1800等により構成される。送信先レコード1800は、文書生成サービス103の保持する文書の操作名に対応する送信先を管理する。送信先レコード1800は、操作名1801、エンドポイントURL1802等から構成される。
以上のような構成で、文書生成サービス103がクラウドサービスとして提供されている。文書生成サービス103から他のクラウドサービスを利用するためには、文書生成サービスを利用しているユーザが、連携するクラウドサービスの利用権限を有している必要がある。しかし、ユーザが文書生成リクエストで指定した操作に応じて特定される連携するクラウドサービスによって、ふさわしい権限確認方法が異なる。本実施例では、文書の送信先となるクラウドサービスが文書生成サービス103と同じドメインに属しているか否かにより、前記権限の確認方法を変更制御する。
文書の送信先が文書生成サービス103と同じドメインのクラウドサービスの場合には、文書を生成する前に該ドメインの認証サービス104に文書生成リクエストから取得したユーザ情報に権限が付いているか確認する。また、文書の送信先が該ドメインの外部のクラウドサービス(外部サービス)の場合には、文書を生成する前に認証サービス104に前記外部サービスがSSO可能か問い合わせる。そして、SSO可能だった場合、認証サービス104から受け取ったユーザ情報を用いて前記外部サービスにユーザの権限確認を行う。また、SSO不可能な外部サービスだった場合、文書生成リクエストに指定された外部サービスのアクセストークン等を用いて前記外部サービスにユーザの権限確認を行う。以下、詳細に説明する。
以下、図8を用いて、本システムにおける処理の流れを説明する。
図8は、文書生成サービス103が文書生成リクエスト受信時に行う処理の流れを例示するシーケンス図である。ここでは、例えば、クライアント端末101において、ユーザがウェブブラウザ経由で文書生成リクエストを送信する場合、不図示のログイン画面にてCPS102にログイン済みとする。また、クライアント端末101がアプリケーションを利用して文書生成リクエストを送信する場合も、該アプリケーションからCPS102にログイン済みとする。また、このシーケンス図の各サービス(101〜105)の処理は、各サービスを提供する各装置のCPU201がHDD204等に格納されたプログラムをRAM203にロードして実行することにより実現される。
クライアント端末101から文書生成リクエスト900が送信され(S601)、文書生成サービス103が該文書生成リクエスト900を受信すると、該文書生成リクエスト900から操作902(印刷、添付)を取得する(S602)。
次に、文書生成サービス103は、上記S602で取得した操作902に対応するリクエストの送信先が文書生成サービス103と同じドメインか外部のドメインかを判定する(S603)。詳細には、文書生成サービス103は、上記S602で取得した操作902の示す操作名からエンドポイントURL1802を取得し、エンドポイントURL中のドメイン部分と文書生成サービス103のドメインを比較して、ドメインの判定を行う。
次に、文書生成サービス103は、文書生成リクエスト900で指定されたユーザID903の権限を確認するために、ユーザID903を含む権限確認リクエストを認証サービス104に送信する(S604)。認証サービス104は、権限確認リクエストを受信すると、ユーザ管理部309でユーザの権限を確認する(S611)。認証サービス104は、例えば、権限確認リクエストに含まれるユーザIDに対応するロール1103に文書生成権限や生成後に送信するサービスの権限が設定されているかどうかにより、ユーザの権限を確認する。権限確認後、認証サービス104は、送受信部310を用いて権限確認結果を文書生成サービス103へ送信する(S612)。
文書生成サービス103は、権限確認結果を受信すると、上記S603のドメイン判定結果に応じた分岐処理を行う。
文書生成サービス103は、上記S603のドメイン判定で操作に対応するリクエストの送信先が外部サービスと判断した場合([ドメイン:外部]の場合)、CPS102でユーザの権限を確認する(S613)。権限確認リクエストを受信したCPS102は、権限の判定結果(S614)を文書生成サービス103に送信する(S615)。権限の判定結果を受信すると、文書生成サービス103は、S605に処理を移行する。
一方、上記S603のドメイン判定で操作に対応するリクエストの送信先が文書生成サービス103と同ドメインと判断した場合([ドメイン:同じ]の場合)、文書生成サービス103は、そのままS605に処理を移行する。この場合、S611において認証サービス104で権限確認済みであるため、S613、S614、S615に示したような処理は実行されない。
S605において、文書生成サービス103は、文書生成リクエストのフォームデータID901、業務データ906、文書名904を用いて、オーバレイを行い、文書データ(以下、文書)を生成する。
次に、文書生成サービス103は、上記S602で取得した操作902の内容に応じた分岐処理を行う。
操作902が印刷の場合([操作:印刷]の場合)、文書生成サービス103は、生成した文書を印刷リクエストとしてプリントサービス105に送信する(S606)。印刷リクエストを受信すると、プリントサービス105は、権限を確認し、印刷処理を行う(S615)。さらに、プリントサービス105は、印刷処理の結果を、文書生成サービス103に送信する(S607)。印刷処理の結果を受信すると、文書生成サービス103は、S610に処理を移行する。
一方、操作が添付の場合([操作:添付]の場合)、文書生成サービス103は、生成した文書をCPS102に送信する(S608)。印刷リクエストを受信すると、CPS102は、権限を確認し添付処理を行う(S616)。そして、CPS102は、添付処理の結果を文書生成サービス103に送信する(S609)。添付処理の結果を受信すると、文書生成サービス103は、S610に処理を移行する。
S610において、文書生成サービス103は、上記S601で受信した文書生成リクエストの送信元であるクライアント端末101に、文書生成リクエストのレスポンスを返信する(S610)。
以下、図9、図10のフローチャートを参照して、実施例1の文書生成サービス103の文書生成リクエストの受信からレスポンス送信までの処理について詳細に説明する。なお、図9、図10のフローチャートが示す処理は、文書生成サービス103の制御部302の制御により実行される。即ち、このフローチャートが示す処理は、文書生成サービス103のCPU201がHDD204等に格納されたプログラムをRAM203にロードして実行することにより実現される。
図9は、実施例1における文書生成サービス103の文書生成リクエストの受信からレスポンス送信までの処理を例示するフローチャートである。
制御部302は、クライアント端末101からの文書生成リクエスト900を受信すると(S700)、S701において、文書生成リクエスト900がブラウザ経由のWebページへのアクセスかAPIを利用しているのかを判定する。次に、S702において、制御部302は、文書生成リクエスト900から操作902を取得する。
次に、S703において、制御部302は、認証部306に指示を出し、文書生成リクエスト900から取得した操作902を用いてDB307からエンドポイントURL1802を取得する。さらに、制御部302は、エンドポイントURL1802中のドメイン部分を文書生成サービス103のドメインと比較し、同じドメインか外部のドメインか判定する。
そして、エンドポイントURLが文書生成サービス103と同ドメインと判定した場合(S703で「同ドメイン」の場合)、制御部302は、S704に処理を進める。S704において、制御部302は、認証部306を用いて認証サービス104に、文書生成権限と生成後に送信するサービスの権限を確認する。
次に、S705において、上記S704の確認結果を判定する。そして、確認結果が「権限なし」であった場合(S705で「権限なし」の場合)、制御部302は、権限エラーをクライアント端末101に通知し(S706)、処理を終了する。
一方、確認結果が「権限あり」であった場合(S705で「権限あり」の場合)、制御部302は、S711に処理を進める。
また、上記S703において、エンドポイントURLが文書生成サービス103と異なるドメイン(外部サービス)であると判定した場合(S703で「外部サービス」の場合)、制御部302は、S707に処理を進める。S707において、制御部302は、認証部306を用いて認証サービス104に、文書生成権限を確認する。
次に、S708において、制御部302は、上記S707の文書権限確認結果を判定する。そして、文書権限確認結果が「権限不足」であった場合(S708で「権限不足」の場合)、制御部302は、権限エラーをクライアント端末101に通知し(S706)、処理を終了する。
一方、文書権限確認結果が「権限あり」であった場合(S705で「権限あり」の場合)、制御部302は、S709に処理を進める。S709において、制御部302は、外部サービス権限確認処理を実行する。S709の外部サービス権限確認処理の詳細は後述する図10で示す。
次に、S710において、制御部302は、上記S709の外部サービス権限確認結果を判定する。そして、外部サービス権限確認が「権限不足」であった場合(S710で「権限不足」の場合)、制御部302は、権限エラーをクライアント端末101に通知し(S706)、処理を終了する。
一方、外部サービス権限確認結果が「権限あり」であった場合(S710で「権限あり」の場合)、制御部302は、S711に処理を進める。
S711において、制御部302は、文書生成リクエスト900から取得したフォームデータID901、業務データ906、文書名904を用いて、文書生成部305を介してオーバレイを行い、文書を生成する。次に、S712において、制御部302は、上記S711のオーバレイで生成した文書を、送受信部301から他クラウドサービスに送信する(帳票送信)。ここで、送信先となる他クラウドサービスは、操作902に応じたエンドポイントURL1802が示すものとなる。
次に、S713において、制御部302は、上記S712の送信結果を判定する。そして、送信成功と判定した場合(S713で「成功」の場合)、制御部302は、レスポンスをクライアント端末101に送信し(不図示)、処理を終了する。一方、送信失敗と判定した場合(S713で「失敗」の場合)、制御部302は、エラーをクライアント端末101に送信する(S714)。この際、制御部302は、上記S701でブラウザ経由と判定した場合、ページ生成部303で生成したダウンロード画面(例えば図11)をブラウザに返す。一方、制御部302は、上記S701でAPIを利用したリクエスト(WebAPI)と判定した場合、エラーのレスポンスをクライアント端末101に送信する。
図11は、文書生成サービス103のページ生成部303が生成するダウンロード画面の一例を示す図である。
図11に示すように、ダウンロード画面1400は、エラーメッセージ1402と、ダウンロードリンク1401を有する。即ち、ダウンロード画面1400では、文書生成サービス103で生成した文書をダウンロードするための情報を表示する。
図10は、文書生成サービス103の外部サービス権限確認処理(図9のS709)の一例を示すフローチャートである。
S801において、制御部302は、認証サービス104に、文書生成リクエスト900から取得したユーザID903とエンドポイントURL1802を送信して、認証サービス104から返送される確認結果を受信し、SSO可能か確認する。認証サービス104は、受信したユーザIDで特定されるユーザ情報レコード1100に対応するSSO情報テーブル1200に、受信したエンドポイントURL1802に対応するSSOレコード1300を特定する。さらに、認証サービス104は、特定したSSOレコード1300に外部サービスユーザID1303と外部サービスパスワード1304が格納されている場合にSSO可能と判断し、それ以外の場合にSSO不可能と判断し、判断結果を文書生成サービス103に返送する。
S802において、制御部302は、上記S801のSSO確認結果を判定する。そして、SSO確認結果がSSO可能であった場合(S802で「SSO可能」の場合)、制御部302は、S803に処理を進める。S803において、制御部302は、認証サービス104から、外部サービスユーザID1303と外部サービスパスワード1304を取得する。さらに、S804において、制御部302は、エンドポイントURL1302に、権限確認リクエスト(外部サービスユーザID1303と外部サービスパスワード1304を含む)を送信し、エンドポイントURL1302から返送される権限確認結果を受信する。上記S804の処理が終了すると、制御部302は、本フローチャートの処理を終了し、図9のS710に処理を移行する。
一方、SSO確認結果がSSO不可であった場合(S802で「SSO不可」の場合)、制御部302は、S805に処理を進める。S805において、制御部302は、クライアント端末101からのリクエストがブラウザ経由かAPIを利用したリクエストか判定する。
そして、ブラウザ経由のリクエストであると判定した場合(S805で「UI」の場合)、制御部302は、S806に処理を進める。S806において、制御部302は、ブラウザに外部サービスへのリダイレクトリクエストを送信し、権限確認を行う。権限確認の際、ブラウザのセッションのユーザ情報を用いて認証を行う。ブラウザのセッション情報は、ブラウザからCPS102にログインした際にCPS102から受信したものとする。なお、ブラウザのセッションのユーザ情報が無い場合には、ブラウザにログイン画面を表示してユーザに認証情報の入力を促し、認証権限を確認するようにする。上記S806の処理が終了すると、制御部302は、本フローチャートの処理を終了し、図9のS710に処理を移行する。
一方、APIを利用したリクエストであると判定した場合(S805で「WebAPI」の場合)、制御部302は、S807に処理を進める。S807において、制御部302は、文書生成リクエスト900から外部サービスのアクセストークン905を取得する。さらに、S808において、制御部302は、上記S807で取得したアクセストークン905を用いて外部サービスへ権限確認を行い、本フローチャートの処理を終了し、図9のS710に処理を移行する。上記アクセストークンは、クライアント端末101のアプリケーションがCPS102にログインした際にCPS102から取得したものとする。
以上の処理により、文書生成サービス103は文書生成処理を実行する。なお、文書生成サービス103における文書生成処理(フォームを使用したオーバレイ処理)は既知であるため、本実施例では説明を割愛する。
本実施例によれば、文書生成サービスが生成した文書を他クラウドサービスに送信する場合、ユーザの指示内容(操作902)から送信先クラウドサービスを判別する。そして、該送信先クラウドサービスに応じて、権限確認方法を決定し、文書の生成前に指示内容(操作902)に応じたクラウドサービスの権限を確認することができる。この結果、生成した文書を権限不足によって送信できない状況を回避することができる。よって、送信権限がないのに文書を作成してしまい、無駄にコンピュータ資源を浪費してしまうといったことを防止できる。また、例えば、文書生成サービスが文書の生成に応じて課金するような構成の場合、文書生成されて課金されたが権限不足で送信できなかったといった事態の発生を防止することができる。
上記実施例1では、文書の送信先クラウドサービスの権限確認が同ドメインのクラウドサービスと外部クラウドサービスの場合の二種類で可能であり、送信先に応じて、文書生成の事前の権限の確認方法を切り替え制御する構成について説明した。実施例2では、文書生成サービス103が同ドメインのクラウドサービスの権限のみ確認可能な場合に、文書生成処理の事前に送信先クラウドサービスの権限を確認する方法について説明する。以下、実施例1で記載済みの内容については説明を省略する。
図12は、実施例2における文書生成サービス103の文書生成リクエストの受信からレスポンス送信までの処理を例示するフローチャートである。なお、図12のフローチャートが示す処理は、文書生成サービス103の制御部302の制御により実行される。即ち、このフローチャートが示す処理は、文書生成サービス103のCPU201がHDD204等に格納されたプログラムをRAM203にロードして実行することにより実現される。なお、図12のS1901、S1901〜S1903は、図9のS700、S702〜S704と同様の為、説明を割愛する。また、S1904〜S1906についてもS711〜S713と同様の為、説明を割愛する。ただし、実施例2では、エンドポイントURLが文書生成サービス103と異なるドメイン(外部サービス)であると判定した場合(S1902で「外部サービス」の場合)、制御部302は、S1904に処理を進め、オーバレイを行う。
制御部302は、帳票の送信失敗と判定した場合(S1906で「失敗」の場合)、ダウンロード画面(例えば図11の1400)の生成をページ生成部303に指示し、送受信部301を用いてクライアント端末101(ブラウザ)に送信する(S1907)。
本実施例によれば、ユーザの指示内容(操作902)から判別された送信先クラウドサービスが文書生成サービスと同ドメインの場合、文書の生成前に、指示内容(操作902)に応じたクラウドサービスの権限を認証サーバに確認することができる。この結果、生成した文書を権限不足によって同ドメイン内のクラウドサービスに送信できない状況を回避することができる。
上記実施例1では、文書の送信先クラウドサービスに応じて、文書生成の事前の権限の確認方法を切り替える構成について説明した。実施例1では、権限不足と判定された場合、権限が追加されるまでユーザの指定した操作は実行されない。実施例2では、ユーザの権限が不足していた場合に管理者に権限不足のエラーを通知する方法を説明する。以下、実施例1で記載済みの内容については説明を省略する。
以下、図13、図14のフローチャートを参照して、実施例3の文書生成サービス103の文書生成リクエストの受信からレスポンス送信までの処理について詳細に説明する。なお、図13、図14のフローチャートが示す処理は、文書生成サービス103の制御部302の制御により実行される。即ち、このフローチャートが示す処理は、文書生成サービス103のCPU201がHDD204等に格納されたプログラムをRAM203にロードして実行することにより実現される。
図13は、実施例3における文書生成サービス103の文書生成リクエストの受信からレスポンス送信までの処理を例示するフローチャートである。なお、図12のS1500〜S1504は、図9のS700〜S704と同様の為、説明を割愛する。また、S1508についてもS707と同様の為、説明を割愛する。
文書生成サービス103の制御部302は、S1504又はS1508の権限確認処理を終えると、S1505において、該権限確認の結果が権限不足の場合に管理者に通知する処理を実行する。S1505の処理の詳細は図14で説明する。
図14は、実施例3における権限不足の場合に管理者に通知する処理(図13のS1505)の一例を示すフローチャートである。
S1601において、制御部302は、図13のS1504、S1508またはS1509の権限確認結果を判定する。そして、権限ありと判定した場合(S1601で「権限あり」の場合)、制御部302は、本フローチャートの処理を終了し、図13のS1510に処理を移行する。これにより、オーバレイ、帳票送信が行われる。
一方、権限不足だったと判定した場合(S1601で「権限なし」の場合)、制御部302は、S1602に処理を移行する。S1602において、制御部302は、認証部306を用い認証サービス104から、管理者ロールを持つ(ロール1103に管理者権限が設定されている)ユーザのユーザ情報レコード1100を取得する。
次に、S1603において、制御部302は、上記S1602で取得したユーザ情報からユーザID1101、メールアドレス1104、組織ID1105を取得し、メールを生成する。なお、ここで生成するメールは、文書生成サービス103がクライアント端末101から受信した文書生成リクエスト900内の情報と、権限不足となったこと、および、権限不足の種別(文書生成権限不足か送信権限不足か)を示す情報等を含むものとする。
次に、S1604において、制御部302は、送受信部301を用いて、上記S1603で生成したメールを送信する。即ち、ユーザID903に対応するユーザがフォームデータID901に対応するデータに対して、操作902に対応する操作を実行しようとして、権限不足(文書生成権限不足、又は、送信権限不足)となったことを示すメールを、管理者に送信する。
次に、S1605において、制御部302は、権限不足エラーをクライアント端末101に送信する。この際、制御部302は、図13のS1501でブラウザ経由と判定した場合、ページ生成部303で生成した権限不足エラーページをブラウザに返す。
一方、制御部302は、図13のS1501でAPIを利用したリクエスト(WebAPI)と判定した場合、権限不足エラーのレスポンスをクライアント端末101に送信する。そして、S1605の処理を終了すると、制御部302は、本フローチャートの処理を終了し、図13のフローチャートの処理も終了する。これにより、権限不足の場合には、オーバレイも帳票送信も行われることなく、処理が終了することとなる。
本実施例によれば、実施例1の効果に加え、文書生成権限不足または送信権限不足によってユーザの指示内容(操作902)を実行できなかった場合に、その時点で、その旨を管理者に自動で通知することができる。これにより、管理者は、ユーザに権限を付与する等の適切な措置を速やかに実施することができる。
なお、図9のS706の権限エラー通知も、図14のS1605と同様に、ブラウザ経由とWebAPIを利用した文書生成リクエストとで、通知方法を切り替えるようにしてもよい。
また、本実施例では、文書生成サービス103が、オーバレイ処理により文書生成を行う場合を説明したが、文書生成方法はオーバレイ処理に限定されるものではなく、どのような方法の文書生成であっても本発明を適用可能である。また、文書生成サービス103が生成するデータは文書に限定されるものではなく、文書以外のデータを生成する場合にも本発明を適用可能である。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
(他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施例の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
100 ネットワーク
101 クライアント端末
102 クラウドプラットフォームサービス(CPS)
103 文書生成サービス
104 認証サービス
105 プリントサービス

Claims (14)

  1. 受信したリクエストに応じたデータを生成する生成手段と、
    前記生成手段が生成したデータを前記リクエストに応じたサービスへ送信する送信手段と、
    前記生成手段によるデータの生成前に、前記送信手段の送信先となるサービスに応じた確認方法で、前記リクエストに対応するユーザが前記送信先となるサービスを利用する権限を有するか否かを確認する確認手段と、を有し、
    前記生成手段は、前記確認手段により前記権限を有することが確認された場合に、前記データを生成することを特徴とする情報処理装置。
  2. 前記確認手段は、前記送信先となるサービスが前記情報処理装置と同じドメインに属しているか否かにより、前記権限の確認方法を変更することを特徴とする請求項1に記載の情報処理装置。
  3. 前記確認手段は、前記送信先となるサービスが前記情報処理装置と同じドメインに属している場合、該ドメインの認証サービスで前記権限の確認を行い、前記送信先となるサービスが該ドメインに属していない場合、前記送信先となるサービスで前記権限の確認を行うことを特徴とする請求項2に記載の情報処理装置。
  4. 前記確認手段は、前記送信先となるサービスで前記権限の確認を行う場合、前記送信先となるサービスにおける前記ユーザの認証情報が前記認証サービスで管理されている場合には、前記認証サービスで管理されている前記ユーザの認証情報を用いて、前記送信先となるサービスで前記権限の確認を行うことを特徴とする請求項3に記載の情報処理装置。
  5. 前記確認手段は、前記送信先となるサービスで前記権限の確認を行う場合、前記送信先となるサービスにおける前記ユーザの認証情報が前記認証サービスで管理されていない場合には、前記リクエストがウェブブラウザ経由で受信されたものかどうかどうかに応じて、前記権限の確認方法を変更することを特徴とする請求項3又は4に記載の情報処理装置。
  6. 前記確認手段は、前記リクエストがウェブブラウザ経由で受信されたものである場合には、該ウェブブラウザに前記送信先となるサービスへリダイレクトする指示を送信して前記送信先となるサービスで前記権限の確認を行うことを特徴とする請求項5に記載の情報処理装置。
  7. 前記確認手段は、前記リクエストがウェブブラウザ経由で受信されたものでない場合、前記リクエストに含まれるアクセス用のトークンを用いて前記送信先となるサービスで前記権限の確認を行うことを特徴とする請求項5又は6に記載の情報処理装置。
  8. 前記確認手段により前記権限を有することが確認できなかった場合、その旨を管理者に通知する通知手段を有することを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。
  9. 前記送信手段によるデータの送信が失敗した場合、その旨を前記リクエストの送信元に返信する返信手段を有し、
    前記返信手段は、前記リクエストがウェブブラウザ経由で受信されたものである場合、該ウェブブラウザに前記データをダウンロードするための情報を返信することを特徴とする請求項1乃至8のいずれか1項に記載の情報処理装置。
  10. 前記サービスは、前記データを利用する機能を提供するサービスであることを特徴とする請求項1乃至9のいずれか1項に記載の情報処理装置。
  11. 前記サービスは、前記データを印刷するサービス、又は、前記データをそのサービスが提供するページに添付するサービスであることを特徴とする請求項10に記載の情報処理装置。
  12. 前記生成手段は、前記リクエストで指定された情報及びフォームを用いて文書データを生成することを特徴とする請求項1乃至11のいずれか1項に記載の情報処理装置。
  13. 受信したリクエストに応じたデータを生成する生成手段と、前記生成手段が生成したデータを前記リクエストに応じたサービスへ送信する送信手段とを有する情報処理装置の制御方法であって、
    前記生成手段によるデータの生成前に、前記送信手段の送信先となるサービスに応じた確認方法で、前記リクエストに対応するユーザが前記送信先となるサービスを利用する権限を有するか否かを確認する確認ステップと、
    前記確認ステップにより前記権限を有することが確認された場合に、前記生成手段が前記データを生成する生成ステップと、
    前記生成ステップで生成されたデータを前記送信手段が前記送信先となるサービスに送信する送信ステップと、
    を有することを特徴とする情報処理装置の制御方法。
  14. コンピュータを、請求項1乃至12のいずれか1項に記載された手段として機能させるためのプログラム。
JP2013216928A 2013-10-18 2013-10-18 情報処理装置、情報処理装置の制御方法およびプログラム Pending JP2015079405A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013216928A JP2015079405A (ja) 2013-10-18 2013-10-18 情報処理装置、情報処理装置の制御方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013216928A JP2015079405A (ja) 2013-10-18 2013-10-18 情報処理装置、情報処理装置の制御方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2015079405A true JP2015079405A (ja) 2015-04-23

Family

ID=53010768

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013216928A Pending JP2015079405A (ja) 2013-10-18 2013-10-18 情報処理装置、情報処理装置の制御方法およびプログラム

Country Status (1)

Country Link
JP (1) JP2015079405A (ja)

Similar Documents

Publication Publication Date Title
US7721322B2 (en) Enterprise service-to-service trust framework
US8955084B2 (en) Timestamp-based token revocation
KR101507919B1 (ko) 가상 데스크탑 서비스를 위한 방법 및 장치
JP6677496B2 (ja) 認証連携システム及び認証連携方法、認可サーバー、アプリケーションサーバー及びプログラム
CN113316783A (zh) 使用活动目录和一次性口令令牌组合的双因素身份认证
KR20080053298A (ko) 접속 프로세스의 비교적 초기에 인증함으로써 시큐어접속을 생성하는 방법 및 그 방법을 수행하게 하는 컴퓨터실행가능 명령어를 갖는 컴퓨터 프로그램 제품
US9052861B1 (en) Secure connections between a proxy server and a base station device
US9916308B2 (en) Information processing system, document managing server, document managing method, and storage medium
KR20130040702A (ko) 정보 처리 시스템, 화상 처리 디바이스, 사용자 디바이스, 정보 처리 시스템의 제어 방법, 및 저장 매체
WO2015049825A1 (ja) 端末認証登録システム、端末認証登録方法および記憶媒体
KR102378268B1 (ko) 정보 처리 장치, 정보 처리 장치를 제어하는 방법 및 저장 매체
KR102293475B1 (ko) 정보 처리 장치, 설정 장치, 정보 처리 장치의 제어 방법, 설정 장치의 제어 방법, 및 프로그램
TWI569167B (zh) 安全的統一雲端儲存
CN111108736A (zh) 使用云服务的接收器和浏览器的自动地址故障切换
US11729334B2 (en) Communication system, device, and recording medium for remote access to electronic device through relaying device and converter
US9762613B2 (en) Method and apparatus for providing extended availability of representatives for remote support and management
CA2794818C (en) Timestamp-based token revocation
JP5091003B2 (ja) 情報処理システム、情報処理方法、プログラム、及び、記録媒体
JP2015079405A (ja) 情報処理装置、情報処理装置の制御方法およびプログラム
JP2015153117A (ja) 文書生成システム
JP2014241113A (ja) コンテンツ管理装置、コンテンツ管理システム、コンテンツ管理方法及びプログラム
US11055079B2 (en) Systems and methods for just-in-time application implementation
JP2014142735A (ja) 印刷システム、方法、及びプログラム
WO2011032427A1 (zh) 互联网协议电视iptv用户登录方法及系统和iptv能力平台
WO2015004744A1 (ja) 認証装置、認証方法、およびプログラム