初识 ASP.NET Membership 用户管理

所属分类: 网络编程 / ASP.NET 阅读数: 696
收藏 0 赞 0 分享

一、与session的不同点

Membership 一般指用微软的aspnetdb数据库来进行身份认证

Session是指网站用户的会话信息

二、Membership 类提供的功能可用于:  

1.创建新用户。  

2.将成员资格信息(用户名、密码、电子邮件地址及支持数据)存储在 Microsoft SQL Server 或其他类似的数据存储区。  

3.对访问网站的用户进行身份验证。可以以编程方式对用户进行身份验证,也可以使用 Login 控件创建一个只需很少代码或无需代码的完整的身份验证系统。   

4.管理密码,包括创建、更改、检索和重置密码等等。可以选择配置 ASP.NET 成员资格以要求一个密码提示问题及其答案来对忘记密码的用户的密码重置和检索请求进行身份验证。  

虽然 ASP.NET 成员资格是 ASP.NET 中用来进行身份验证的独立功能,但它可以与 ASP.NET 角色管理集成来为站点提供授权服务。成员资格还可以与 ASP.NET 用户的 System.Web.Profile 集成,以提供可为各个用户量身订做的特定于应用程序的自定义实现。有关详细信息,请参见 了解角色管理 和 ASP.NET 配置文件属性概述。  

Membership 类依赖于成员资格提供程序与数据源通信。.NET Framework 包括一个 SqlMembershipProvider(将用户信息存储在 Microsoft SQL Server 数据库中)和一个 ActiveDirectoryMembershipProvider(允许在 Active Directory 或 Active Directory 应用程序模式 (ADAM) 服务器上存储用户信息)。还可以实现一个自定义成员资格提供程序与可由 Membership 类使用的其他类似的数据源进行通信。自定义成员资格提供程序将继承 MembershipProvider 抽象类。有关更多信息,请参见 实现成员资格提供程序。  

默认情况下,ASP.NET 成员资格可支持所有 ASP.NET 应用程序。默认成员资格提供程序为 SqlMembershipProvider 并在计算机配置中以名称 AspNetSqlProvider 指定。SqlMembershipProvider 的默认实例配置为连接到 Microsoft SQL Server 的一个本地实例。  

可以通过修改默认设置将一个非 AspNetSqlProvider 实例的 SqlMembershipProvider 指定为默认提供程序,或使用 Web.config 文件将自定义提供程序的实例指定为 ASP.NET 应用程序的默认提供程序。可以使用 Web.config 文件中 membership 配置节来为 Web 应用程序指定 ASP.NET 成员资格配置。可以使用 membership 节的 providers 子节来指定默认提供程序之一以外的成员资格提供程序。例如,下面的 membership 节从当前应用程序配置中移除默认成员资格提供程序并添加一个名为 SqlProvider 的新提供程序,它连接到名为 MySqlServer 的 SQL Server 实例。

复制代码 代码如下:

<configuration>
    <connectionStrings>
        <add name="SqlServices" connectionString="Data Source=MySqlServer;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />  
    </connectionStrings>
    <system.web>
        <membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">
            <providers>
                <remove name="AspNetSqlProvider" />
                <add name="SqlProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="SqlServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" passwordFormat="Hashed" applicationName="/" />
            </providers>
        </membership>
    </system.web>
</configuration>

在 ASP.NET 应用程序中,Membership 类用于验证用户凭据并管理用户设置(如密码和电子邮件地址)。Membership 类可以独自使用,或者与 FormsAuthentication 一起使用以创建一个完整的 Web 应用程序或网站的用户身份验证系统。Login 控件封装了 Membership 类,从而提供一种便捷的用户验证机制。

更多精彩内容其他人还在看

C#中Dictionary几种遍历的实现代码

C#中Dictionary几种遍历的实现代码,需要的朋友可以参考一下
收藏 0 赞 0 分享

C#实现EXCEL数据到TXT文档的转换

C#实现EXCEL数据到TXT文档的转换,需要的朋友可以参考一下
收藏 0 赞 0 分享

C#数据绑定控件中的DataSource属性浅谈

使用该属性指定用来填充Repeater控件的数据源。DataSource可以是任何System.Collections.IEnumerable对象, 如用于访问数据库的System.Data.DataView、System.Collections.ArrayList、Syste
收藏 0 赞 0 分享

ASP.Net开发常见的一些问题总结

ASP.Net开发常见的一些问题总结,需要的朋友可以参考一下
收藏 0 赞 0 分享

Log4net日志记录组件的使用步骤详解和下载

Log4net日志记录组件的使用步骤详解,需要的朋友可以参考一下
收藏 0 赞 0 分享

ASP.NET主机资源控制的一些心得

您可以通过以下设置控制ASP.NET主机对服务器内存的占用。并能设置ASP.NET主机进程定时重建这样可以避免服务器长时间运行aspnet占用大量空闲内存,有利于提高aspnet运行效率。
收藏 0 赞 0 分享

ADO与ADO.NET的区别与介绍

ADO与ADO.NET简介ADO与ADO.NET既有相似也有区别
收藏 0 赞 0 分享

Asp.Net各种超时问题总结

在数据库或者请求操作时,如果选择的时间段过短或操作数据量过大,就会遇到"请求超时"的的问题,网络上提供很多解决方案,但普遍不完善,根据个人经验及参考网络解决方案,先将其汇总
收藏 0 赞 0 分享

vs.net2008添加模板方法

vs.net2008添加模板方法,需要的朋友可以参考一下
收藏 0 赞 0 分享

Asp.net后台把脚本样式输出到head标签中节省代码冗余

最近在学习开发服务器控件,其它就少不了为控件注册js和css之类的资源文件,或者直接注册纯脚本样式。其中就遇到如下问题     1、 注册的资源文件或纯脚本样式在生成的页面中都不在head标签中(当然这个不影响页面功能)     2、 一个页面使用多个一样的控件时,会
收藏 0 赞 0 分享
查看更多