`
zendj
  • 浏览: 121216 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

关于Membership的设置

阅读更多

关于Membership的设置

初学MemberShip,遇到一个Membership设置的问题因为一般教程使用的示例都是SQL Server 2005 Express版本的本地 ASPNETDB.MDF文件,如果我要使用远程的Sql Server 2005服务器的话,需要进行一些设置。

Setp1:当你使用Membership, 我们可以发现ASP.NET 2.0 已经在 SQL Server 2005 Express建立了很多表(aspnet_Membership等),视图,存储过程等。当时我们自己的远程服务器上并没有这些表。难道我们需要自己建?当然不用,微软给我们准备了一个工具:

<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->%systemroot%\Microsoft.NET\Framework\v2.x\

目录下的aspnet_regsql工具根据它的向导,可以很方便地指定你的服务器和数据库。完成之后,我们可以发现,我们的远程服务器上制定数据库上已经创建好了我们需要的表,视图,存储过程等。

Step2:这时候我们需要在web.config更改Membership的Provider

我们可以参考machine.config文件中的内容:(machine.config在%systemroot%\Microsoft.NET\Framework\v2.x\CONFIG目录下)

<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><connectionStrings> <add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" /> </connectionStrings> <membership> <providers> <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.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>

你可以直接在machine.config里更改,不过这里一更改,会影响到以后所有ASP.NET程序的设置,所以我们还是在自己的web.config中更改比较好.在web.config中,首先创建我们自己的连接字符串:

<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><connectionStrings> <add name="remoteSqlServer" connectionString="server=..;uid=..;pwd=..;initial catalog=.." providerName="System.Data.SqlClient" /> </connectionStrings>

然后修改Membership的provider.,修改的时候需要注意一个问题,因为machine.config中已经存在一个provider了,所以你直接增加一个provider的话

<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><membership> <providers> <add name="RemoteSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="remoteSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression="" /> </providers> </membership>

在程序运行中还是会去寻找在machineconfig中定义的AspNetSqlMembershipProvider,因为那个是default的。所以一种选择是,我们把这个新的Provider设置为Default的。

<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><membership defaultProvider="RemoteSqlMembershipProvider"> <providers> <add name="RemoteSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="remoteSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression="" /> </providers>

另一种选择是,我们首先clear原来的provider,然后再增加自己的provider(connectiongStringName设置为我们自己的ConnectionString):

<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><membership> <providers> <clear/> <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="remoteSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression="" /> </providers> </membership>

这里需要注意的另一个问题就是,provider的名字一定需要是AspNetSqlMembershipProvider,其他名字就会出现这个错误:Default Membership Provider could not be found.因为原来已经指定了AspNetSqlMembershipProvider为Default Provider.

分享到:
评论

相关推荐

    整理的membership验证

    - **Web.config 配置**:可以通过 Web.config 文件来管理 Membership 的各项设置,例如选择 SQL Server 作为数据存储方式、设置密码的安全性要求等。 - **WebSite Administration Tool**:这是一个非常强大的工具,...

    asp.net--membership详解

    ### ASP.NET Membership 详解 #### 一、ASP.NET Membership 概述 ASP.NET Membership 是一个用于简化用户身份验证和授权的框架。它提供了一种安全且简单的方式来管理网站中的用户账户,包括用户的注册、登录、密码...

    .net 新特性,membership类的详细用法

    在.NET框架中,Membership类是ASP.NET成员身份验证的核心组件,它为Web应用程序提供了一种管理用户账户的强大机制。这个类库包含了一系列方法和属性,用于处理用户注册、登录、密码重置等常见任务,同时也支持自定义...

    设置IP_ADD_MEMBERSHIP最大组播组数.txt

    linux网络编程中,组播通信在setsockopt接口中IP_ADD_MEMBERSHIP添加组播成员。但组播成员个数有限制,默认是20个。若需要添加更多的个数,则需要修改系统配置文件。本文档给出了怎么去修改默认的组播数。

    Laravel开发-membership

    在“membership”项目中,我们将创建各种视图,如登录页面、用户管理界面、权限设置等。Blade的条件语句和循环结构使得模板代码更加简洁。 7. **迁移与模型工厂** 使用Laravel的迁移系统,我们可以编写数据库表...

    Membership入门学习

    【Membership入门学习】 Membership是ASP.NET框架中用于网站用户身份验证和权限管理的重要组件。...通过不断学习和实践,我们可以掌握更多关于Membership的知识,从而更好地服务于我们的项目需求。

    membership

    Visual Studio 2005(VS2005)是微软推出的一款强大的开发工具,支持ASP.NET 2.0及其相关功能,包括Membership API。SQL Server 2005则是一个关系型数据库管理系统,用于存储和处理用户数据,包括会员账户信息。 ...

    Membership数据库说明

    ### Membership数据库概述与知识点 #### 一、数据库概念与架构 **Membership数据库**主要用于存储成员资格、角色分配、用户配置以及应用程序相关信息。该数据库通过分布式数据库模式实现数据管理,即根据不同的...

    membership(access版)

    1. **配置Access数据库**:设置数据库表结构以匹配ASP.NET Membership所需的模式,如AspNet_Users, AspNet_Roles, AspNet_Membership等。 2. **创建自定义MembershipProvider**:在代码中创建一个新的类,继承自`...

    ASP.NET membership的XML配置

    在ASP.NET中,我们通常会使用Web.config文件来存储应用程序的配置信息,包括membership设置。这些设置定义了如何创建、验证和管理用户账户。 首先,让我们看看在Web.config文件中如何配置membership。以下是一个...

    Membership使用入门.pdf

    这里可以配置默认的 **Membership** 提供者以及其他相关设置。 ```xml &lt;membership defaultProvider="AspNetSqlMembershipProvider" userIsOnlineTimeWindow="15" hashAlgorithmType=""&gt; , System.Web, ...

    Membership使用入门借鉴.pdf

    #### 二、Membership 在 SQL Server 中的设置 为了充分利用Membership的功能,需要在SQL Server中进行一系列必要的配置。这通常涉及到创建特定的表、视图和存储过程等数据库对象。ASP.NET提供了一个名为**aspnet_...

    强力重置ASP.NET membership加密后的密码!

    ASP.NET的Membership是微软.NET Framework框架中用于身份验证和用户管理的一个重要组件。它提供了一套现成的接口和类,使得开发者可以方便地创建、验证和管理网站用户的账号信息。在某些情况下,如接手旧项目或者...

    玩转Membership课程目录

    - **详解**:通过设置`&lt;membership&gt;`节点,可以指定默认的认证提供程序以及连接字符串等。 #### 3. **使用ASP.NET SQL Membership Provider** - **简介**:ASP.NET SQL Membership Provider是Membership系统内置的...

    Membership学习代码

    【 Membership学习代码 】 在IT领域,特别是Web开发中,`Membership`是一个非常重要的概念,它主要用于管理和验证用户的登录信息。在ASP.NET框架下,`Membership`提供了一组丰富的服务,帮助开发者创建安全的用户...

    ASP.NET2.0中的membership问题

    ### ASP.NET 2.0中的Membership问题解析 #### 背景介绍 ASP.NET 2.0 是微软推出的一个用于构建动态网站的应用程序框架。它提供了丰富的功能来帮助开发者更轻松地开发和维护Web应用程序。其中,Membership是ASP.NET ...

Global site tag (gtag.js) - Google Analytics