認証モジュールを利用するためのサーバコード

目次

  概要
  認証処理を組み込むためのソースファイルを開く
  mun_proxy サーバの認証処理メカニズムについて


概要

Web認証サーバを介した、MUN サーバの認証設定

  ここでは、MUN サーバのカスタム認証処理に関し、
  サーバコード上のどこで認証処理の手続きを行えばよいかについて説明します。


認証処理を組み込むためのソースファイルを開く

各種プラットフォーム向けの、mun_proxy サーバの認証処理のソースファイルを開く

  まずは以下の要綱に従い、各種プラットフォームおよび C++/C# 言語向けの、mun_proxy サーバの認証処理メソッド(関数)を開きます。

  下記のうち、ご利用されている MUN サーバのプラットフォームに合わせて、カーソルクリックしてください。

  ご利用されている MUN サーバの開発言語に合わせて、カーソルクリックしてください。
1. 頒布している MUN サーバパッケージの解凍先ディレクトリ内の cpp/mun_proxy ディレクトリを開きます。
2. ご利用されている VisualStudio のバージョンに合わせて、以下のソリューションファイルを開いてください。
cpp
└ mun_proxy
    ├ mun_proxy_vs2010.sln … VisualStudio 2010 で動作させる場合
    ├ mun_proxy_vs2012.sln … VisualStudio 2012 で動作させる場合
    ├ mun_proxy_vs2013.sln … VisualStudio 2013 で動作させる場合
    ├ mun_proxy_vs2015.sln … VisualStudio 2015 で動作させる場合
    └ mun_proxy_vs2017.sln … VisualStudio 2017 で動作させる場合
3. Visual Studio でソリューションファイルを開いた後、mun_proxy プロジェクト内の mun_proxy/src/database フィルタを展開し、
  その中にある MunProxyDatabase.cpp を開きます。
1. 頒布している MUN サーバパッケージの解凍先ディレクトリ内の csharp/mun_proxy ディレクトリを開きます。
2. ディレクトリ内に存在するソリューションファイル mun_proxy_vs2017_x64.sln を開いてください。
3. Visual Studio でソリューションファイルを開いた後、mun_proxy プロジェクト内の src/database ディレクトリを展開し、
  その中にある MunProxyDatabase.cs を開きます。

  ご利用されている MUN サーバの開発言語に合わせて、カーソルクリックしてください。
頒布している MUN サーバパッケージのデプロイ先の cpp/mun_proxy/src/database ディレクトリを開き、
その中にある MunProxyDatabase.cpp をテキストエディタ系ツールで開きます。
頒布している MUN サーバパッケージのデプロイ先の csharp/mun_proxy/src/database ディレクトリを開き、
その中にある MunProxyDatabase.cs をテキストエディタ系ツールで開きます。

  ご利用されている MUN サーバの開発言語に合わせて、カーソルクリックしてください。
頒布している MUN サーバパッケージのデプロイ先の cpp/mun_proxy/src/database ディレクトリを開き、
その中にある MunProxyDatabase.cpp を Xcode で開きます。
頒布している MUN サーバパッケージのデプロイ先の csharp/mun_proxy/src/database ディレクトリを開き、
その中にある MunProxyDatabase.cs を Xcode で開きます。


mun_proxy サーバの認証処理メカニズムについて

認証処理を組み込む部分に関する、簡単なロジックの説明

  ここから Web 認証サーバによる認証処理を組み込むわけですが、今現在のデフォルトの設定として
  mun_proxy サーバの MUN クライアント認証処理がどのようになっているかを説明します。

MUN クライアント接続直後の認証要求を受信した場合の処理

  MUN クライアントがmun_proxy サーバに接続した後、認証要求のプロセスに入ります。
  このとき、mun_proxy サーバ側で Recv_Proxy_Check() のメソッド(関数)が実行され、認証処理が行われます。

  下記のうち、ご利用されている MUN サーバの開発言語に合わせて、カーソルクリックしてください。
カスタム認証を実装する場合、Recv_Proxy_Check() 関数 の144 行目付近にある、
以下の赤枠部分の「TODO」コメント欄の箇所に、カスタム認証制御を書きます。

また、同関数の 151 行目~ 158 行目付近にある「認証結果送信処理」は、ここでは行ないません。
カスタム認証を適用する場合には Web サーバからの認証結果を待つ必要がありますので、ここでの「認証結果送信処理」が丸ごと削除されます。
カスタム認証を実装する場合、Recv_Proxy_Check() メソッド の278 行目付近にある、
以下の赤枠部分の「TODO」コメント欄の箇所に、カスタム認証制御を書きます。

また、同メソッドの 285 行目~ 293 行目付近にある「認証結果送信処理」は、ここでは行ないません。
カスタム認証を適用する場合には Web サーバからの認証結果を待つ必要がありますので、ここでの「認証結果送信処理」が丸ごと削除されます。

mun_proxy サーバが Web 認証サーバへの認証処理に失敗した場合の処理

  認証要求のプロセス中、例えば Web 認証サーバのアドレス間違い、認証サーバダウン、リクエスト内容が適切ではなかった場合など、
  Web認証サーバへのHTTP通信そのものに不具合が発生した場合、mun_proxy サーバ側で Recv_Proxy_CheckResultFailure() のメソッド(関数)が実行され、
  認証処理の失敗通知が行われます。

  下記のうち、ご利用されている MUN サーバの開発言語に合わせて、カーソルクリックしてください。
関数は以下のように定義されています。

カスタム認証の実装は有効化されていませんので、これは関数のみが存在するだけで、実際には機能しません。
また、仮にカスタム認証を実装したとしても、MUN クライアントに「正確な通知」が行くようにするため、
特段の事情がない限り、このソースに対する改変は行なわないでください。
メソッドは以下のように定義されています。

カスタム認証の実装は有効化されていませんので、これは関数のみが存在するだけで、実際には機能しません。
また、仮にカスタム認証を実装したとしても、MUN クライアントに「正確な通知」が行くようにするため、
特段の事情がない限り、このソースに対する改変は行なわないでください。

mun_proxy サーバが Web 認証サーバから認証結果を取得した場合の処理

  MUNクライアントの認証要求を受けて、mun_proxy サーバ経由で Web 認証サーバから認証結果を取得した場合、
  mun_proxy サーバ側で Recv_Proxy_CheckResult() のメソッド(関数)が実行され、認証処理の結果処理を行ないます。

  下記のうち、ご利用されている MUN サーバの開発言語に合わせて、カーソルクリックしてください。
関数は以下のように定義されています。

ここは Web 認証サーバからの結果によって処理が異なりますので、現在は未定義です。
開発者側が、Web サーバからの応答内容に応じて、適宜コーディングする必要があります。
メソッドは以下のように定義されています。

ここは Web 認証サーバからの結果によって処理が異なりますので、現在は未定義です。
開発者側が、Web サーバからの応答内容に応じて、適宜コーディングする必要があります。