我不理解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(..)
.
现在,我们需要创建一个SecurityManager
接受三个参数的类 ..。第三个参数是什么?一个OAuthDataProvider
?这被定义为静态,这里:
internal static IOpenAuthDataProvider OAuthDataProvider =
new WebPagesOAuthDataProvider();
这创建了一个WebPagesOAuthDataProvider
. 这是我的问题。这是什么?为什么它必须紧密耦合到一个ExtendedMembershipProvider
?什么是ExtendedMembershipProvider
? 为什么需要这个?
在我的 Web 应用程序中,我尝试使用 RavenDb 数据库和我自己的自定义主体和自定义身份。与 ASP.NET 附带的Membership或SimpleMembership无关。
那个类是什么,为什么要使用它等?它的目的是什么?这是 DNOA 需要的吗?为什么?