どのように私はそれを消費し、同じアプリケーション内でSAMLセキュリティトークンを生成することができますか?

StackOverflow https://stackoverflow.com/questions/2255103

質問

私は、Windowsアイデンティティ基盤を使用するように私のアプリケーションの一部を構成してきました。私は、セキュリティトークンサービスからセキュリティトークンを取得するには、受動リダイレクトを使用します。私はアプリケーション内で「STS参照の追加」を使用して、その後WIFを使用して開始し、前に存在していたログオンのウェブサイトにWIFコードを挿入することによってこれを達成します。

しかし、私は、ログオンWebサイトを使用しないアプリケーションを1つ持っています。私は私がやりたいことは、外部STSにユーザーをリダイレクトすることなく、アプリケーション自体の中にセキュリティトークンを生成していることだと思います。

私は、外部STSから受信したセキュリティトークンに追加の請求項を追加するために使用することができるClaimsAuthenticationManagerクラスを使用してこれを達成しようとして失敗しました。しかし、ClaimsAuthenticationManagerは、このコンテキストでは機能しません。代わりにClaimsAuthenticationManagerにセッションごとに1つだけの時間(予想および所望の結果)を呼び出すのでは、それは私が前のページのロード時にユーザーに割り当てられたクレームの兆候なしですべてのページのロード時に呼び出されます。

私は、ユーザーがデータベースからのクレームを与える外部STSを作成するに探していますが、私は危険であるとしてこれを参照してください。私は、単一のWebサイトの全体の別々のSTSを作成しなければならない理由はないように思えます。私はちょうど私のアプリケーション内のセキュリティトークンを生成したいと思います。

役に立ちましたか?

解決

独自のアプリケーション内セキュリティトークンサービスクラスを置くことが可能である。

しかし、彼らはトークンを取得してきた前に、ユーザーがアプリケーションにログインページにアクセスすることができるようにするために、あなたは、web.configファイルのdeny users=?セクションからAuthorizationを削除する必要があります。これにより、ユーザーはいないセキュリティトークンを使用してWebページにヒットすることができます。彼らはログインすると、適切なページにリダイレクトます。

これは便利な受動的なリダイレクト機能を使用することができないという欠点があるが、それは動作しません。それは彼らがログインするためにそれらを必要とする何かをしようとすると、手動でログインページにユーザーをリダイレクトする必要があることを意味します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top