[英]How to implement Asp.net membership in my developed web application
我正在開發Web應用程序。 我已經完成了 但是當我通過安全審核時,我知道應該使用asp.net成員身份進行登錄,更改密碼,創建用戶,重置密碼等。
所以我盯着使用asp.net成員資格。 我創建了一個登錄頁面,它工作正常。 我的App_Data文件夾中也有一個數據庫。
問題是我已經為我的應用程序建立了一個數據庫,其中有一個用戶表,該表具有比表aspnet_Users更多的字段。 參見下圖。
因此,建議我如何在Web應用程序中實現asp.net成員資格,因為我需要在用戶表中添加更多字段,
如何使用上圖中的上述字段將數據與字段一起插入數據,因為我沒有通過使用asp.net成員資格對任何代碼進行優化。 如果可以的話,我一定會做出相應的更改。
我的意思是如何在沒有任何代碼的情況下合並該數據庫並進行挖掘。
我還建議您使用ASP.Net Identity,因為它是處理安全性的框架。
但是,如果您要使用簡單成員資格,則以下代碼可幫助您“將字段添加”到用戶表。
首先,使用所有必需的屬性創建用戶模型,如下所示:
[Table("User")]
public class User
{
public int UserId { get; set; }
[Display(Name = "User name")]
[Required(ErrorMessage = "Usernname is required.")]
[StringLength(80, ErrorMessage = "Please enter a value no more than 80 characters.")]
public string UserName { get; set; }
[Display(Name = "First Name")]
[Required(ErrorMessage = "First name is required.")]
[StringLength(80, ErrorMessage = "Please enter a value no more than 80 characters.")]
public string FirstName { get; set; }
[Display(Name = "Last Name")]
[Required(ErrorMessage = "Last name is required.")]
[StringLength(80, ErrorMessage = "Please enter a value no more than 80 characters.")]
public string LastName { get; set; }
[Required]
[Display(Name = "Email")]
[DataType(DataType.EmailAddress)]
[StringLength(254, ErrorMessage = "Please enter a value no more than 254 characters.")]
public string Email { get; set; }
//Add other properties... etc
}
接下來,編寫代碼以初始化數據庫。 您可能在InitializeSimpleMembershipAttribute.cs文件中的某個位置有此代碼。 或者,您可以從那里取出它,並放入您的Application Start方法。 這是您需要修改的部分:
WebSecurity.InitializeDatabaseConnection("YourDBConnectionName", "User", "UserId", "UserName", autoCreateTables: true);
//Modify the above properties if you change your user model to be a different table name
請參閱對InitializeDatabaseConnection的參考。
現在,當您要創建用戶時,請調用以下方法:
WebSecurity.CreateUserAndAccount(user.UserName, user.Password, new { user.Email, user.FirstName, user.LastName });
//user is the User object that has all your data populated from some type of input
創建用戶帳戶的參考: CreateUserAndAccount
您嘗試實現的是使用aspnet_regsql.exe創建的舊式ASP.Net成員資格提供程序 。 不要使用它,因為很久以前已不推薦使用它。
目前,Microsoft提供3種類型的會員資格-
由於您的應用是新的並且沒有現有用戶,因此您想使用-
問題是我已經為我的應用程序建立了一個數據庫,其中有一個用戶表,該表具有比表aspnet_Users更多的字段。
ASP.Net Identity允許您在“用戶”表中創建自定義字段。
僅供參考:確保您使用版本2。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.