2014-08-29 54 views
0

我正在开发一个Web应用程序。我已经完成了它。但是,当我通过安全审计走了,我才知道,我应该使用asp.net成员身份,登录,修改密码,创建用户,重置密码等如何在我开发的Web应用程序中实现Asp.net成员资格

所以我盯着使用asp.net成员。我创建了一个登录页面,工作正常。我的App_Data文件夹中还有一个数据库。

enter image description here

的问题是,我已经有我的应用程序在那里我有它具有比表aspnet_Users多个字段用户表的数据库。看到下面的图片。

enter image description here

所以,请建议我如何实现asp.net成员在我的web应用程序,因为我需要在user表中的字段,

如何与我上面的字段的字段一起插入数据在上面的图片中提到,因为我没有通过使用asp.net成员资格罚款任何代码。如果我能得到,我一定会相应地做出改变。

我的意思是如何合并该数据库和我没有任何代码。

+0

使用Asp.net简介您可以将多达值。 – Mairaj 2014-08-29 04:11:14

+0

但是如果我想要一些其他的东西以及更改代码的地方。 – Gaurav 2014-08-29 04:44:25

+0

您将不得不在web.config中添加要存储的属性,然后添加配置文件并保存配置文件。当用户通过身份验证时,您将设置配置文件属性并保存配置文件。 – Mairaj 2014-08-29 04:48:14

回答

0

我也建议你使用ASP.Net身份,因为它是处理安全的框架。

但是,如果你要使用简单的会员,这里是一些代码,以帮助您“添加域”到你的用户表。

首先,像这样所有需要的属性创建用户模型:

[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文件中的某处存在此代码。或者,您可以从中取出并放入您的应用程序启动方法中。以下是您需要修改的部分:

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

+0

Hello Prava。可以请你看看它.. http://stackoverflow.com/questions/32924232/how-to-implement-asp-net-membership-in-mvc-project – 2015-10-03 16:29:53

0

你想实现的一个是传统ASP.Net会员供应商使用创建aspnet_regsql.exe请勿使用它,因为它很久以前就被弃用了。

目前,微软提供了3种类型的成员的 -

  1. ASP.NET Universal Providers
  2. 简单成员资格提供
  3. ASP。NET身份

因为你的应用是新的,没有现有用户,您要使用 -

ASP.NET Identity 2

的问题是,我已经有一个数据库,我的应用程序,其中 我有一个用户表,它比表 aspnet_Users更多的字段。

ASP.Net Identity允许您在用户表中创建自定义字段。

FYI:确保你使用的版本2

+0

你好赢..你可以请看看它http: //stackoverflow.com/questions/32924232/how-to-implement-asp-net-membership-in-mvc-project – 2015-10-03 16:01:49

相关问题