我在我的网站上注册后开发了一个电子邮件激活系统。当用户注册时,我将 IsApproved 设置为 false。只要我使用本地登录名,这一切都很好。
这就是问题所在:如果用户使用 OpenAuth 注册,我创建会员用户并将 IsApproved 也设置为 false - 但仍然可以使用 OpenAuth 登录。我猜 IsApproved 只是用于验证用户名/密码。
这是 OpenAuth 自动生成的登录序列的一部分:
if (OpenAuth.Login(authResult.Provider, authResult.ProviderUserId, createPersistentCookie: false))
{
RedirectToReturnUrl();
}
基本上,我需要的是获取与 OpenAuth 凭据相关联的会员用户名,以便我可以检查用户是否被批准并采取行动,但我无法弄清楚如何。
我尝试为这些 OpenAuth 凭据获取 OpenAuthAccountData 类的实例,但我找不到任何东西。