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. WPF Binding学习(三)

    转自;http://blog.csdn.net/lisenyang/article/details/18312199 1.控件与控件间的双向绑定 WPF还支持控件作为数据源, <TextBox ...

  2. oracle 删除表空间TABLESPACE步骤及注意项

    告诉大家,我喜欢通过toad for oralce来实现对oracle数据库的操作. 1.首先通过数据库管理员用户以SYSDBA身份登录.比如使用sys用户去登录 2.查看和记录待删除表空间所在的物理 ...

  3. [03] 线程同步 synchronized

    1.线程同步概述 线程之间有可能共享一些资源,比如内存.文件.数据库等.多个线程同时读写同一份共享资源时,就可能引起冲突,所以引入了线程的"同步"机制. 所谓同步,就是说线程要有先 ...

  4. Spring+SpringMVC+Mybatis框架整合流程

    一:基本步骤 新建Maven项目,导入相关依赖.(推荐) ————–Mybatis配置 —————- 新建entity包,并根据数据库(表)新建相关实体类. 新建dao包,并根据业务创建必要的mapp ...

  5. 基于 HTML5 的工业互联网 3D 可视化应用

    工业企业中生产线处于高速运转,由工业设备所产生.采集和处理的数据量远大于企业中计算机和人工产生的数据,生产线的高速运转则对数据的实时性要求也更高.破解这些大数据就是企业在新一轮制造革命中赢得竞争力的钥 ...

  6. 聊聊阿里社招面试,谈谈“野生”Java程序员学习的道路

    引言 很尴尬的是,这个类型的文章其实之前笔者就写过,原文章里,笔者自称LZ(也就是楼主,有人说是老子的简写,笔者只想说,这位同学你站出来,保证不打死你,-_-),原文章名称叫做<回答阿里社招面试 ...

  7. 获取Oracle过程中的OUT SYS_REFCURSOR值

    一个项目中的实例:获取Oracle过程中的返回SYS_REFCURSOR.注意:如果SYS_REFCURSOR为一个表或视图.可以通过表名%ROWTYPE获取每行数据,而不必另外定义type. 原过程 ...

  8. python中map()函数用法

    map函数的原型是map(function, iterable, …),它的返回结果是一个列表. 参数function传的是一个函数名,可以是python内置的,也可以是自定义的. 参数iterabl ...

  9. PAT L2-024 部落

    https://pintia.cn/problem-sets/994805046380707840/problems/994805056736444416 在一个社区里,每个人都有自己的小圈子,还可能 ...

  10. Jenkins Installing and migration

    JAVA_Zookeeper_hadoop - CSDN博客https://blog.csdn.net/wangmuming Installing Jenkins on Red Hat distrib ...