0

我在我的网站上注册后开发了一个电子邮件激活系统。当用户注册时,我将 IsApproved 设置为 false。只要我使用本地登录名,这一切都很好。

这就是问题所在:如果用户使用 OpenAuth 注册,我创建会员用户并将 IsApproved 也设置为 false - 但仍然可以使用 OpenAuth 登录。我猜 IsApproved 只是用于验证用户名/密码。

这是 OpenAuth 自动生成的登录序列的一部分:

if (OpenAuth.Login(authResult.Provider, authResult.ProviderUserId, createPersistentCookie: false))
{
    RedirectToReturnUrl();
}

基本上,我需要的是获取与 OpenAuth 凭据相关联的会员用户名,以便我可以检查用户是否被批准并采取行动,但我无法弄清楚如何。

我尝试为这些 OpenAuth 凭据获取 OpenAuthAccountData 类的实例,但我找不到任何东西。

4

1 回答 1

0

只是不要调用 OpenAuth.CreateUser。用户认证后,您可以使用“authResult.UserName”获取用户名。在您调用 CreateUser 之前,不会在您的数据库中创建任何内容。

于 2014-03-14T03:12:50.147 回答