ASP.NET成员资格为您提供了验证和存储用户凭据的内置方式。因此,ASP.NET成员可以帮助您管理网站中的用户身份验证。您可以使用ASP.NET表单身份验证使用ASP.NET成员身份,方法是使用ASP.NET登录控件创建一个用于验证用户的完整系统。

ASP.NET会员资格支持以下设施:

  • 创建新用户和密码。

  • 在Microsoft SQL Server,Active Directory或备用数据存储中存储成员身份信息(用户名,密码和支持数据)。

  • 验证访问您的网站的用户。您可以以编程方式对用户进行身份验证,也可以使用ASP.NET登录控件来创建一个完整的身份验证系统,需要很少或没有代码。

  • 管理密码,包括创建,更改和重置密码。根据您选择的会员资格选项,会员制还可以提供一个自动的密码重置系统,该系统提供用户提供的问题和响应。

  • 为您可以在自己的应用程序中使用的经过身份验证的用户公开一个唯一的标识,并且还与ASP.NET个性化和角色管理(授权)系统集成。

  • 指定自定义成员资格提供程序,允许您替换自己的代码来管理成员资格并维护自定义数据存储中的成员资格数据

会员资格,角色和用户配置文件属性

 

虽然成员身份是ASP.NET中用于身份验证的独立功能,但它可以与ASP.NET角色管理集成,为您的网站提供授权服务。会员资格还可以与用户配置文件属性集成,以提供针对个人用户定制的特定于应用程序的定制。有关详细信息,请参阅使用角色和ASP.NET配置文件属性概述管理授权。有关如何使用角色成员身份的信息,请参阅演练:使用角色管理网站用户。

会员资格如何运作

 

要使用会员资格,您必须先为您的网站进行配置。以下是为了配置成员资格而遵循的基本步骤:

  1. 指定成员资格选项作为网站配置的一部分。默认情况下,启用成员资格。您还可以指定要使用的会员提供商。默认提供程序将成员资格信息存储在Microsoft SQL Server数据库中。但是,您也可以使用其他提供程序,例如Windows Live ID的提供程序。您还可以选择使用Active Directory来存储成员信息,也可以指定自定义提供程序。有关可以在ASP.NET应用程序的Web.config文件中指定的成员资格配置选项的信息,请参阅配置ASP.NET应用程序以使用成员资格。

  2. 配置您的应用程序以使用表单身份验证(与Windows或Windows Live ID身份验证不同)。

    您还可以指定应用程序中的某些页面或文件夹是受保护的,只能由经过身份验证的用户访问。有关详细信息,请参阅演练:使用角色管理网站用户。

  3. 定义用户帐户的会员资格。你可以通过各种方式来做到这一点。您可以使用网站管理工具,该工具提供了类似向导的界面来创建新用户。或者,您可以使用收集用户名和密码(和可选的电子邮件地址)的ASP.NET网页,然后使用CreateUser成员资格方法在成员资格系统中创建新用户。

然后,您可以使用成员身份来验证应用程序中的用户。通常,您将提供用户可以登录的页面,新用户可以注册的注册页面以及用户可以更改密码的更改密码页面。ASP.NET登录控件(Login,LoginView,LoginStatus,LoginName和PasswordRecovery)几乎封装了提示用户提供凭据所需的所有逻辑,并验证了会员系统中的凭据。

Visual Studio中用于创建ASP.NET项目的默认模板包括大部分基本登录功能。有关如何使用项目模板的信息,请参阅演练:使用基本用户登录创建ASP.NET网站。或者,您可以使用模板中相同的ASP.NET控件来创建自定义登录和成员资格页面。有关如何手动放置这些ASP.NET控件以创建用于验证用户的应用程序的信息,请参阅演练:使用成员资格和用户登录创建网站。

如果您已将应用程序配置为使用表单身份验证,则如果未经身份验证的用户请求受保护的页面,ASP.NET将自动显示登录页面。

如果您使用ASP.NET中提供的项目模板或使用登录控件,他们将自动使用成员资格系统验证用户。如果创建自定义登录控件,则必须调用ValidateUser方法来验证用户的用户名和密码。用户验证后,可以持续关于用户的信息(例如,如果用户的浏览器接受Cookie,则使用加密的cookie)。登录控件自动执行此任务,但如果创建自定义登录控件,则可以调用FormsAuthentication类的方法来创建cookie并将其写入用户的计算机。如果用户忘记了自己的密码,登录页面可以呼叫用户帮助用户恢复密码或重置密码的会员功能。

每次用户请求一个页面时,ASP.NET都会对用户是否进行身份验证进行身份验证。如果页面受到限制,则可以通过身份验证并且是已批准角色的成员的用户查看该页面。匿名用户(未登录的用户)被定向到登录页面。默认情况下,身份验证cookie对用户的会话保持有效。

用户通过身份验证后,会员系统将提供一个包含当前用户信息的对象。例如,您可以获取成员资格用户对象的属性,以确定用户的名称和电子邮件地址,用户上次登录到您的网站时,等等。

会员系统的一个重要方面是,您不需要显式执行任何低级数据库功能来获取或设置用户信息。例如,通过调用成员CreateUser方法创建新用户。会员系统处理创建必要的数据库记录以存储用户信息的细节。当您调用ValidateUser方法来检查用户凭据时,会员系统将为您执行所有数据库查找。

Membership 介绍的更多相关文章

  1. asp.net资料! (.NET) (ASP.NET)

    使用SqlBulkCopy类加载其他源数据到SQL表 在数据回发时,维护ASP.NET Tree控件的位置 vagerent的vs2005网站开发技巧 ASP.NET2.0小技巧--内部控件权限的实现 ...

  2. AMQ(approximate membership queries)介绍

    目录 简介 举例 Bloom Filter 算法过程 1)位数组: 2)添加元素,k个独立hash函数 3)判断元素是否存在集合 Quotient Filter and Cascade Filter ...

  3. Membership三步曲之入门篇 - Membership基础示例

    Membership 三步曲之入门篇 - Membership基础示例 Membership三步曲之入门篇 -  Membership基础示例 Membership三步曲之进阶篇 -  深入剖析Pro ...

  4. membership与成员资格

    membership成员资格是ASP.NET 成员资格为您提供了一种验证和存储用户凭据的内置方法.因此,ASP.NET 成员资格可帮助您管理网站中的用户身份验证.它包含以下功能 创建新用户和密码. 将 ...

  5. 怎么在MVC中使用自定义Membership

    首先我们来看看微软自带的membership: 我们打开系统下aspnet_regsql.exe 地址一般位于: C:\WINDOWS\Microsoft.NET\Framework\v2.0.507 ...

  6. 全新的membership框架Asp.net Identity(1)——.Net membership的历史

    在Asp.net上,微软的membershop框架经历了Asp.net membership到Asp.net simple membership,再到现在的Asp.net Identity. 每一次改 ...

  7. 关于Certificate、Provisioning Profile、App ID的介绍及其之间的关系

    1.概念介绍 如果你拥有一个开发者账户的话,在iOS Dev Center打开Certificates, Indentifiers & Profiles,你就可以看到如下的列表: Profil ...

  8. <转>关于Certificate、Provisioning Profile、App ID的介绍及其之间的关系

    转自:http://www.cnblogs.com/cywin888/p/3263027.html 刚接触iOS开发的人难免会对苹果的各种证书.配置文件等不甚了解,可能你按照网上的教程一步一步的成功申 ...

  9. [转]Membership三步曲之入门篇 - Membership基础示例

    本文转自:http://www.cnblogs.com/jesse2013/p/membership.html Membership三步曲之入门篇 - Membership基础示例   Members ...

随机推荐

  1. ASP.NET Core 发布之后通过命令控制监听地址和环境变量

    添加Command支持 新建一个ASP.NET Core 项目,打开Program.cs 添加下面的代码: public class Program { public static void Main ...

  2. Java函数式编程和lambda表达式

    为什么要使用函数式编程 函数式编程更多时候是一种编程的思维方式,是种方法论.函数式与命令式编程的区别主要在于:函数式编程是告诉代码你要做什么,而命令式编程则是告诉代码要怎么做.说白了,函数式编程是基于 ...

  3. JSOUP如何POST只含JSON格式的数据

    引言 现在前后端分离渐渐成为主流,网站可以通过json格式的数据和服务端进行交互,比如下图: 关于这点,JSOUP官方API文档已经给出了解决方法 Connection requestBody​(St ...

  4. 大数据不就是写SQL吗?

    应届生小祖参加了个需求分析会回来后跟我说被产品怼了一句: "不就是写SQL吗,要那么久吗" 我去,欺负我小弟,这我肯定不能忍呀,于是我写了一篇文章发在了公司的wiki 贴出来给大家 ...

  5. 关于 HTTP GET/POST 请求参数长度最大值的一个理解误区(转载)

    1. Get方法长度限制 Http Get方法提交的数据大小长度并没有限制,HTTP协议规范没有对URL长度进行限制.这个限制是特定的浏览器及服务器对它的限制.下面就是对各种浏览器和服务器的最大处理能 ...

  6. long double

    long double 输入输出 scanf("%Lf",&a); printf("%.20Lf\n",a);

  7. Zk搭建(Zookeeper)

      第一步: 上传----解压   tar -zxvf zookeeper-3.4.5.tar.gz----                配置zk的环境变量  ----------配置源码 vim ...

  8. 08-webpack的介绍

    在这里我仅仅的是对webpack做个讲解,webpack这个工具非常强大,解决了我们前端很繁琐的一些工具流程繁琐的事情.如果感兴趣的同学,简易还是看官网吧. 中文链接地址:https://www.we ...

  9. nginx强制使用https访问(http跳转到https)

    Nginx 的 Location 从零开始配置 - 市民 - SegmentFault 思否https://segmentfault.com/a/1190000009651161 nginx配置loc ...

  10. Oracle undo 表空间不可用

    由于某次不小心操作,在切换表空间时没有成功,由于把undo的配置参数 undo_management值设置为MANUAL所以在启动数据库时没有报任何错误,但是给表插入数据时报错了,回滚段不可用的错误. ...