【问题标题】:Asp.Net Mvc4 WebSecurity How to activate or deactivate a user accountAsp.Net Mvc4 WebSecurity 如何激活或停用用户帐户
【发布时间】:2018-02-08 04:48:19
【问题描述】:

我已经使用 websecurity 类在 mvc4 中创建了一个帐户,如下所示:

 WebSecurity.CreateUserAndAccount(model.UserName, model.Password,
  new {  
           EmailAddress = model.EmailAddress, 
           ContactNo = model.ContactNo,
           Password = model.Password
       });

我的用户创建成功... 现在我想: 随时激活/停用用户。

这样用户只有在他的帐户处于活动状态时才能登录,否则他应该无法登录。

我怎样才能做到这一点?

【问题讨论】:

  • 您可以在操作中使用 [Authorize(Roles = "ActiveUser")] 属性。
  • 我不想这样,我需要激活和停用,当用户尝试登录时,必须向用户显示您的帐户未激活的消息...
  • 您可以使用 GetUser() 获取用户并基于列应用检查用户是否处于活动状态并相应地返回自定义消息
  • 是否有任何内置方法来激活和停用帐户...
  • 不,您可以只检查带有属性的操作。否则在获取用户详细信息时检查它

标签: c# asp.net asp.net-mvc asp.net-mvc-4 websecurity


【解决方案1】:

您可以使用UserProfile 类来做到这一点。该类位于AccountModels 类中,该类充当每个用户帐户的配置文件表。在这里,您通常希望包含一个名为IsActive 的属性。

[Table("UserProfile")]
public class UserProfile
{
  [key]
  [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
  public int UserId { get; set; }
  public string UserName { get; set; }
  public string LastName { get; set; }
  public string FirstName { get; set; }
  public string Email { get; set; }
  public bool IsActive { get; set; }
}

您可以更改IsActive 属性并在login 操作中检查它。

请参阅 this post 了解更多信息。

【讨论】:

    猜你喜欢
    • 2016-03-11
    • 1970-01-01
    • 2013-01-15
    • 2021-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多