電子商取引アプリケーションにおけるIPrincipleとIIdentity - ASP.NET MVC

私はIPrincipalとIIdentityで作業する必要がある場合、自分のカスタムメンバーシッププロバイダ(ASP.NETメンバーシップを継承していない)をいつローリングするかを調べようとしています。私はあなたがWindowsベースのアカウントで作業している非公開のサイトにのみ使用されていないことを意味しますか?

また、.ASPXAUTHクッキーではなく、認証データを格納する独自のクッキーを作成したいと考えています。

独自のロールプロバイダも作成していますので、私はIIdentityで想定していたContext.User.IsInRole機能を使用しません。

0
なぜあなたはこれをやりたいのですか?
追加された 著者 Andrew Barber,

1 答え

私が意味することは、あなたが働いている非公開のサイトにのみ使用されているわけではありません   Windowsベースのアカウントでは?

どういたしまして。これらのインターフェイスは、使用している認証方式の種類に関係なく、メンバーシッププロバイダで使用されます。たとえば、 HttpContext のUserプロパティは、 IIdentity 型の Identity プロパティを含む IPrincipal です。したがって、どのような種類の認証を使用していても、それらのインターフェースで作業する必要があります。もちろん独自のカスタム実装を記述することもできます。

2
追加された
@CoffeeAddictユーザーを抽象化し、HttpContextから直接アクセスしないことをお勧めします。これにより、コントローラのユニットテストがずっと簡単になります。
追加された 著者 Dismissile,
確かに私はそれを実現しました...私はいつもHttpContextを使用しています。ダー。私たちは自分たちで使用しているメンバーシッププロバイダを使用しておらず、ASP.NETメンバーシッププロバイダに関連するコードがないことを確認していました。言い換えれば、ユーザーを認証するための独自のDBテーブルと独自の方法を使用しています。私たちは、ASP.NETメンバーシップがこれをどのように提供しているのか好きではありません。
追加された 著者 PositiveGuy,
独自のカスタム実装を記述すると、それはまさに私たちがやりたいことです。 HttpContextから現在のユーザー情報を取得します。私もこのブログ記事を見ていました: bradygaster.com/custom-authentication-with -mvc-3.0
追加された 著者 PositiveGuy,