-1

asp.net mvc 4 アプリケーションの 1 つでフェデレーション セキュリティ ベースの認証をモックしようとしています。

実際、この Web アプリケーションは最終的にフェデレーション セキュリティ認証を使用しますが、その認証サービスはまだ準備ができておらず、テストできるようになるまでに時間がかかりますが、すぐに Web アプリのデモを提供する必要があります。そのため、asp.net でカスタム メンバーシップ/認証を行うときに、httpcontext.current.user オブジェクトを設定するためのカスタム プリンシパルを使用するなど、フェデレーション セキュリティ ベースの認証を模倣/モックできると考えました。フェデレーテッド セキュリティも同様です。

任意の指示は素晴らしいでしょう、任意の記事のリンクはありますか? 信頼できるベースを取得して、アプリで認証をモック/模倣するために自分自身を開始しようとしています。

私はたくさん試しましたが、フォーム/ウィンドウなどの他の認証モードを模倣/カスタマイズすることについて話しているのですが、asp.net mvcとフェデレーションされているため、関連するものは何も得られないため、ガイダンスを求める必要があります。悪い質問ではないことを願っていますが、指が曲がっています... :-)

編集: 基本的に、カスタム クレーム プリンシパル (IClaimsPrincipal インターフェイスのカスタム実装) を記述して、クレーム ベースの認証を模倣する方法を知りたいと考えています。ここで、mvc アプリでこれから取得したクレーム データにアクセスできます。認証が適切に行われていると主張していますが、何か提案はありますか?

ありがとう...

4

1 に答える 1

0

更新: (ダミーの ClaimIdentity に); WIF (アセンブリ Microsoft.IdentityModel ans System.IdentityModel) を使用すると仮定します。

Global.asax.cs に次のように入力します。

private class DummyIdentity : IIdentity {
  public string AuthenticationType {
    get { return "Dummy"; }
  }

  public bool IsAuthenticated {
    get { return true; }
  }

  public string Name {
    get { return "DummyUser";  }
  }
}    

void Application_AuthenticateRequest(object sender, EventArgs e) {
  var collection = new ClaimsIdentityCollection();
  var identity = new ClaimsIdentity(new DummyIdentity());
  identity.Claims.Add(new Claim("EnterpriseID", "Whatever"));
  collection.Add(identity);
  var principal = new ClaimsPrincipal(collection);
  Context.User = principal;
}

これにより、WIF でも使用される ClaimsPrincipal による要求の認証がハードコードされます。

于 2013-11-14T16:43:41.017 に答える