Asp.Net Mvc4 WebSecurity 如何激活或停用用户帐户

Posted

技术标签:

【中文标题】Asp.Net Mvc4 WebSecurity 如何激活或停用用户帐户【英文标题】:Asp.Net Mvc4 WebSecurity How to activate or deactivate a user account 【发布时间】: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() 获取用户并基于列应用检查用户是否处于活动状态并相应地返回自定义消息 是否有任何内置方法来激活和停用帐户... 不,您可以只检查带有属性的操作。否则在获取用户详细信息时检查它 【参考方案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 了解更多信息。

【讨论】:

以上是关于Asp.Net Mvc4 WebSecurity 如何激活或停用用户帐户的主要内容,如果未能解决你的问题,请参考以下文章

使用 MVC4 asp.net 随机注销

ASP.NET MVC4 部分视图

ASP.NET MVC4 Razor

ASP.NET MVC4 部分视图

ASP.NET mvc4 Controllder 同步还是异步

实现Asp.Net Mvc4多级Views目录