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. PHP之基本操作

    PHP基础操作1.session操作 手动设置session生存期方式一: session_start(); // 设置生存时间 $lifeTime = 24*6000; setcookie(sess ...

  2. Winform开发框架中的内容及文档管理模块功能介绍

    在开发项目的时候,我们有一些场景需要编辑一些HTML文档,作为内容发布系统的一部分,有时候也需要对一些文档如WORD文档进行编辑管理,这样需要我们对这些内容及文档进行合适的管理.本文主要介绍在WInf ...

  3. 移动H5页面微信支付踩坑之旅(微信支付、单页面路由模拟、按钮加锁、轮询等常见功能)

    开发背景: .net混合开发的vue模板语法的单页面应用,所以不存在脚手架以及没有路由可以跳转. 项目描述: 需要写两个页面,在订单详情页需要点击“请输入手机号”进入手机号绑定页面,手机号绑定成功后自 ...

  4. vue特殊属性 key ref slot

    1.key 当使用key时,必须设置兄弟元素唯一的key,当key排列顺序变化时,兄弟元素会重新排列,而当key的值变化时,这个元素会被重新渲染. 有相同父元素的子元素必须有独特的 key.重复的 k ...

  5. Python—re模块

    re模块 正则表达式就是字符串的匹配规则,在多数编程语言里都有相应的支持,python里对应的模块是re 常用的表达式规则 '.' 默认匹配除\n之外的任意一个字符,若指定flag DOTALL,则匹 ...

  6. Python—函数的名称空间

    名称空间 又名name space, 顾名思义就是存放名字的地方,存什么名字呢?举例说明,若变量x=1,1存放于内存中,那名字x存放在哪里呢?名称空间正是存放名字x与1绑定关系的地方 名称空间共3种, ...

  7. 实时采集新加坡交易所A50指数

    http://www.investing.com/indices/ftse-china-a50 前段时间有人问我如何得到这个网页的实时指数变化,经过抓包发现该网站提供的指数实时变化是通过Websock ...

  8. mysql数据从windows导出,再导入到linux

    从windows导出时,要注意字符集最好和linux的一致,如linux字符集一般为utf8,则导出时可以加上参数--default-character-set=utf8指定字符集,然后导入到linu ...

  9. Tomcat v7.0 java.lang.IllegalArgumentException: Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986

    十二月 , :: 下午 org.apache.coyote.http11.AbstractHttp11Processor process 信息: Error parsing HTTP request ...

  10. [转帖]漫画趣解Linux内核

    漫画趣解Linux内核 https://blog.csdn.net/juS3Ve/article/details/84207142 Linux 内核漫画 今天,我来为大家解读一幅来自 TurnOff. ...