2012-10-04 7 views
5

Microsoft.Web.WebPages.OAuth名前空間、具体的にはOAuthWebSecurityクラスのコードはわかりません。MVCアプリケーションでMicrosoft.Web.WebPages.OAuth.OAuthWebSecurityを使用してスタックしました

ここは、この方法だ: - 最初の行は、この認証要求のために、=>プロバイダのデータをつかむ結構です

internal static void RequestAuthenticationCore(HttpContextBase context, 
    string provider, string returnUrl) 
{ 
    IAuthenticationClient client = GetOAuthClient(provider); 
    var securityManager = new OpenAuthSecurityManager(context, 
     client, OAuthDataProvider); 
    securityManager.RequestAuthentication(returnUrl); 
} 

。これがTwitterClient(..)のふりをします。

ここで、3つの引数を受け入れるSecurityManagerクラスを作成する必要があります。その3番目の引数は何ですか? OAuthDataProvider?それはここでは、静的として定義されています:

internal static IOpenAuthDataProvider OAuthDataProvider = 
    new WebPagesOAuthDataProvider(); 

そして、これはWebPagesOAuthDataProviderを作成します。これは私の問題です。これは何ですか?なぜそれはExtendedMembershipProviderに密接に結合されなければならないのですか? ExtendedMembershipProviderとは何ですか?なぜこれが必要ですか?

私のWebアプリケーションでは、RavenDbデータベースと独自のカスタムプリンシパルとカスタムIDを使用しようとしています。 ASP.NETに付属のメンバーシップまたはSimpleMembershipとは関係ありません。

誰かが私を助けてくれますか?そのクラスは何ですか?それはなぜ使用されますか?それは何の目的ですか?これはDNOAが必要とするものですか?なぜ?

(私は秘密裏にAndrew ArnottがこのQを見て私を助けてくれることを望んでいます)。

答えて

5

あなたが言及しているコードは書かれていないので、ここで間違っている可能性がありますが、あなたが参照するASP.NETコードは確かにメンバーシッププロバイダにバインドされていると思います。

ASP.NETメンバーシッププロバイダを使用していない場合は、DotNetOpenAuthを直接使用することをお勧めします(マイクロソフトが追加したファサードではなく)。

+0

しかし、そのコードはDNOAコードを呼び出すことになります。具体的には、次のようになります。> https://github.com/DotNetOpenAuth/DotNetOpenAuth/blob/master/src/DotNetOpenAuth.AspNet/IOpenAuthDataProvider.cs(私はあなたのJabbR DNOA room:P) –

+1

はい、そのコードはDNOAを呼び出します。私のポイントは、同じことをすることができますが、あなたがそれを避けたい場合は、メンバーシップとの関係がないことです。 –

1

システムにローカルログインアカウント(ローカルメンバーシップデータベースに格納されているアカウント)を提供するためにASP.NET Membershipシステムが必要ない場合は、WebMatrixベースのビット(WebSecurity/OAuthWebSecurity)。

私はには、このためのすべてのソースコードを引っ張ってしまったローカルacountsを必要に応じて彼らは実際には...とにかく、同時にすべての興味深いビット隠すことがDNOAとの対話が困難と多かれ少なかれ

を作ります私のソースコードを編集してそこから編集してください(DNOAとのやりとりを充実させるだけでなく、これを行う理由もありました)。

ローカルアカウントが必要な場合 - WebMatrixを使用 ローカルアカウントが必要ない場合は、DNOAを直接使用してください。

+0

PRO TIP @ Jammer:WebMatrix Websecurity/oauthwebsecurityなどのものは、DNOAやSimpleMembershipの抽象です。 *シンプルなメンバーシップのビット* –

+0

それは私が言ったことだ...あなたは何点を作っているか分からない...? – Jammer

+2

適切な回答は次のとおりです:https://github.com/PureKrome/WorldDomination.Web.Authentication –

関連する問題