0

テクノロジー ASP.NET、VB.NET 2.0(まもなく4.0になります)

概要 私はログイン/認証ポータルを作成しています。これは、Webアプリケーションがそれを使用してユーザーにログインし、ユーザーが自分の資格情報を使用してアプリケーションを使用できるようにするためです。

ログインポータルは別のアプリケーションになり、最初は特定のアプリケーションのエクストラネットとイントラネットを介してのみ利用できます。ただし、将来のアプリはWeb経由で認証する必要があります(別のインスタンスとして実装できます)。基本的に、他の個々のアプリケーションがこのポータルを介してユーザーを認証できるようにしたいと思います。

となることによって...

  1. ユーザーはアプリケーションのWebURL(つまり、www.application.com / http:// apps / application-イントラネット)にアクセスし、[ログイン]をクリックします。
  2. ユーザーのブラウザは、クエリ文字列www.loginportal.com/login.aspx?url=www.application.com/login.aspx(または他のページ)を使用してポータルアプリケーションにリダイレクトされます。
  3. ユーザーは自分の資格情報(ユーザー名、パスワード)を入力し、[ログイン]ボタンをクリックします。
  4. ブラウザはURL、つまりwww.applications.com/default.aspxまたはlogin.aspxにリダイレクトし、認証されてログインします。とアプリを使用することができます。

完了 認証自体をソートし、dllを介してローカルアプリケーションにクラスライブラリとして実装します。

必要な ので、基本的に次の方法を知る必要があります。-1。ポータルURLにデータを投稿します(別のドメインである可能性があります)。2.投稿を使用してブラウザをリダイレクトします。3.認証が安全で、簡単にハッキングできないことを確認します(urlencodeやhtmlencodeなどの使用方法を知っています)。ドメイン間でデータを投稿することの影響についてはよくわかりません。

どんな助けでも大歓迎です...

乾杯、ダンカン。

4

2 に答える 2

0

OK、これが私が最終的に使用したソリューションです。

元のアプリケーション(認証が必要なアプリケーション、上記の手順1)で、ユーザーをログインポータルにリダイレクトし、元のURLをgetパラメーターとして含めます。次に、ユーザーは詳細、ユーザー名、パスワードを入力します。

次に、サーバー側のコードがそれらを認証し、新しいページにリダイレクトします。ここで、リクエストの日時(セキュリティのため)と暗号化された文字列(リクエストの日時を含む)を含むhtmlフォームをページに送り返します。元のフォームに送り返したいデータ。

また、データをフォームの投稿として元のURLに送信するJavaScriptの投稿メソッドを追加します。両端で同じクラスライブラリを使用しているため、同じ方法を使用してデータを暗号化および復号化でき、元の要求元のアプリケーションには、要求の日時を確認する機能を含むすべてのユーザーデータがあります(セットを許可します)認証から元のアプリによるピックアップまでの時間。これらがたとえば5分以内であることを確認してください。

そして仕事は終わりました。

誰かがコードを欲しがっているなら、私はそれを提供することができます、私がそれを投稿することを覚えているなら、今のところ私と一緒にそれを持っていません。

最も洗練されたソリューションではありませんが、機能し、安全であるため、満足しています。:)。

于 2011-04-30T19:08:06.637 に答える
0

ここで真剣に難しいもの。私だったら、Windows Identity Foundationに大きく依存するでしょう。私はそれがこのシナリオをサポートできると信じています (実際にはそれを行っていません; 私の会社の他の誰かがそれに反対して開発しています)。

于 2011-04-06T21:19:05.190 に答える