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. 认识与防御XSS攻击

    什么是xss攻击? XSS,即(Cross Site Scripting)中文名称为“跨站脚本攻击”.XSS的重点不在于跨站攻击而在于脚本攻击.攻击者可以利用 web应用的漏洞或缺陷之处,向页面注入恶 ...

  2. windows下数据挖掘相关包numpy、pandas的安装

    安装Anaconda的绕道 这里介绍如何在windows下安装numpy/scipy/matplotlib/pandas/scikit_learn等数据分析相关包 相关环境: win7 64位 pyt ...

  3. Python黑魔法 --- 异步IO( asyncio) 协程

    python asyncio 网络模型有很多中,为了实现高并发也有很多方案,多线程,多进程.无论多线程和多进程,IO的调度更多取决于系统,而协程的方式,调度来自用户,用户可以在函数中yield一个状态 ...

  4. c# 打印 主板信息CPU信息

    Win32_Processor CPU 参数说明: AddressWidth --在32位操作系统,该值是32,在64位操作系统是64.Architecture --所使用的平台的处理器架构.Asse ...

  5. Ajax跨越问题原因分析与解决思路

    1.什么是AJAX跨域问题 简单来说,就是前端调用后端服务接口时 如果服务接口不是同一个域,就会产生跨域问题 2.AJAX跨域场景 前后端分离.服务化的开发模式 前后端开发独立,前端需要大量调用后端接 ...

  6. .netcore 堆栈调用方法小记

    背景 上午临近午饭时,公司同事反馈验证码被攻击灌水.我们匆忙查询验证码明细,对已频繁出现的IP插入黑名单,但IP仍然隔断时间频繁变动,不得已之下只能先封禁对应公司id的验证码发送功能.年初时候,专门对 ...

  7. 第八次oo作业

    作业五 作业五是当前最后一次电梯作业,也是我们第一次接触到多线程编程,输入方式也由之前的一次性输入变为了实时输入,其中涉及到大量的同步和冲突,其中学习多线程的使用也花了大量的时间,但总的来说为以后的作 ...

  8. public private protected default小结

    public:可以被所有其他类所访问: private:只能被自己访问和修改: protected:自身.子类及同一个包中类可以访问: default:声明时没有加修饰符,同一包中的类可以访问:当子类 ...

  9. plw的骰子

    链接 [http://murphyc.fun/problem/4007] 题意 描述 duxing2016有一个神奇的骰子,投出1-6的概率为(p1,p2...p6) 现在他投n次骰子,问投出点数和大 ...

  10. stark组件数据库管理软件的总结

      1.stark - 总结 用到的知识点: 1.单例模式 2.继承 3.反射 4.面向对象 5.modelform 1.注册表 单例模式 site = StarkSite() 2.生成url url ...