ASP.NET Web アプリで認証に Shibboleth を使用する必要があります。誰もこれを以前にやったことがありますか?メソッド呼び出しをサポートするライブラリはありますか? それともこれはJavaだけのものですか?
3 に答える
これは決して Java だけのものではありません。Shibboleth サイトからダウンロードできる Apache モジュールがあります。
.NET に固有のものがあるかどうかはわかりません。
少し前に Shibboleth を実装し、当初は Java ソリューションを使用しようとしましたが、悪夢でした。Java アプリケーションは、書き方が悪く、バグが多く、文書化も不十分でした。苦労の連続でしたが、最終的には専用サーバーで Apache モジュールを使用し、認証に成功したユーザーを Tomcat アプリに転送することにしました。Apache モジュールは、セットアップ、構成、および作業を簡単に行うことができました。
すでに気付いているかどうかはわかりませんが、Shib のドキュメントと Web サイトをナビゲートするのは信じられないほど難しく、有益な情報を見つけるのは大変です。そこで .NET の実装を探しに行きましたが、あきらめました。
私たちの Java の経験に満足しているなら、Shibboleth モジュールをインストールして Apache サーバーをセットアップし、苦痛の世界を救うことを真剣に提案します。
これは、Shibboleth のインストールが完了したらテストするのに適したサイトです: http://www.testshib.org/testshib-two/index.jsp
良い .NET ソリューションが見つかった場合は、ぜひお知らせください。幸運を!
これは非常に古い質問であることは承知していますが、Google から答えを見つけている人のために、もう少しうまく拡張できるのではないかと思いました。
上記で推奨されているように、モジュールをロードするように Web サーバーを構成する必要があります。shibboleth の難しい部分は構成ファイルですが、組織内の他の誰かが shibboleth を利用していると仮定すると、それらのファイルをテンプレートとして使用でき、かなり簡単です。
.NET ベースの認証の場合、IIS で Shibboleth を構成する必要があります。IIS の既定の構成では、/secure というディレクトリが作成され、その下にあるものはすべて shibboleth 認証が必要になります (つまり、ID プロバイダーにリダイレクトされます)。他のディレクトリをカバーするように構成したり、遅延認証を行うことさえできます。
認証部分を配置したら、ヘッダーをチェックして、ID プロバイダーから渡される情報を「読み取る」ことができます。IIS の処理は Apache とは少し異なりますが、それでも非常に簡単です。ユーザー名だけが必要な場合は、HTTP_REMOTEUSER を使用できますが、より良いオプションがある可能性があります。つまり、オハイオ州立大学は eduPersonPrincipalName の使用を推奨しています。
MatthewMartin が Shibboleth は単なるSAMLサーバーであると述べているように、このブログ投稿で説明されているように、Windows Identity Foundation は SAML をサポートしています。