ASP.Net Membership简单的自定义provider

本文指导如何在新建的ASP.NET项目中修改数据库provider,实现使用自定义数据库,并通过aspnet_regsql.exe命令创建支持membership类各项功能的数据库环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有时候新建一个非空的asp.net项目,VS会提供一个用户登录、注册、修改等功能的模块,默认使用一个attached的mdb数据文件。对于想使用自己的数据库、项目需求简单、或者喜欢DIY的人来说,不甚雅观。

1. 修改provider,使之使用您自定义数据库

在你新建系统,F5之,但还未点击使用任何用户登录注册功能时,网站中并无所说的attached数据文件。一旦用户使用“注册”,新增了一个用户,系统自动在项目中的app_data目录下添加默认的数据文件,其具体地址是根据安装的.Net Framework版本目录下的machine.config中参数决定的:打开[SysDrive]\Windows\Microsoft.NET\Framework\[version]\Config\machine.config,找到<membership>节点:

         <membership>
            <providers>
                <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression=""/>
            </providers>
        </membership>

把这段copy去项目中的<system.web>节点内,其中type太长不要了,重点是connectionStringName,你懂的。需要注意的是 ,直接copy并修改后还不行,因为系统首先调用machine.config中的设定。因此,在项目web.config的<membership>节点下、您的<provider>节点前加上<clear />,由是系统只专注您写的这些provider。这个provider节点的诸多配置参考msdn。

2. 您的数据库需要先改造

指定了数据库还不行,还需要创建该机制使用的数据环境,即改造您的数据库。微软提供了一条龙自动化服务:使用aspnet_regsql.exe命令。简单点的命令如

aspnet_regsql.exe -S .\SQLEXPRESS -E -A m -d MyDB

具体含义用/?看一下,你懂的。由是即可创建出简约而不简单的、支持membership类各项功能的数据库环境来。

3. 。。。到这一步了 ,怎么用membership,自己再去google吧。

Membership.CreateUser、Membership.ValidateUser。。。注意要加上using System.Web.Security; 引用。

 


尾声:微软提供的Arthority功能,除了membership---即用户注册、登录etc功能 外,还有profile,role等。特别是role,提供用户分组、分角色管理功能,是CMS必备之利器。欲练神功,必先google。

转载于:https://www.cnblogs.com/davewu/archive/2012/06/10/2544436.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值