默认禁用ASP.NET MVC用户帐户
答
FX允许您仅允许注册用户登录。有一个标志来检查用户是否确认了他们的电子邮件。该应用程序可以检查这一点,并阻止用户登录,直到他们确认他们的电子邮件。在你的情况下,你可以添加另一个标志,并在允许他们登录之前检查管理员是否批准了用户。 您可以参阅代码的电子邮件确认http://www.asp.net/identity/overview/features-api/account-confirmation-and-password-recovery-with-aspnet-identity
答
新的属性添加到应用程序的用户
public partial class ApplicationUser : IdentityUser
{
public Boolean IsApproved { get; set; }
}
然后你就可以添加在ApplicationUserManager
类实现CheckPasswordAsync
覆盖了晚饭方法UserManager
像下面
public override Task<bool> CheckPasswordAsync(ApplicationUser user, string password)
{
if (!user.IsApproved)
{
return Task.FromResult<bool>(false);
}
return base.CheckPasswordAsync(user, password);
}
这种方法的唯一缺点是即使对于未经批准的用户,我们也会收到“无效的登录尝试”消息。
我看了一下,但更新我的模型后无法'update-database -force'来更改'aspnet_Users'模式。所以然后我看到这个http://typecastexception.com/post/2013/11/11/Extending-Identity-Accounts-and-Implementing-Role-Based-Authentication-in-ASPNET-MVC-5.aspx,并认为我可以只是限制我想要的“验证用户”角色并完成相同的任务。 – 2015-02-24 00:14:10