C#.NET中的MemberShip应用:在虚拟主机上部署asp.net membership-转
2012-11-08 16:06
267 查看
由于asp.net membership默认使用dbo用户访问数据哭,所以在将memebership部署到虚拟主机上通常会出项数据库无法访问,造成memebership无法正常使用,下面就如何解决这一问题分享一些个人的经验,避免大家再走弯路:
1、在虚拟主机上建立memebership数据库时(基本虚拟主机sql server数据库都不会提供dbo用户),将membership数据库的sql脚本中所有[dbo].和dbo.去除,这样在建立membership数据库时,所有对象将使用当前连接用户创建。
2、到microsoft下载membership源码,地址:http://download.microsoft.com/download/a/b/3/ab3c284b-dc9a-473d-b7e3-33bacfcc8e98/ProviderToolkitSamples.msi,默认安装(推荐)后可以在C:\Program Files\ASP.NET Provider Toolkit SQL Samples下找到源项目,将该项目添加到你的解决方案中,并且在需要使用的项目中引用该项目。
3、重写membership,将memebership项目中所有源代码中的dbo.去除,重新生成membership项目,这时在你的项目的bin目录下将生成一个ProviderToolkitSampleProviders.dll文件。
4、位置web.config文件中的membership节如下:
<membership>
<providers>
<clear/>
<add
connectionStringName="MyMemeberShipConnectionString"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
applicationName="/"
requiresUniqueEmail="true"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="4"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="10"
passwordStrengthRegularExpression=""
name="AspNetSqlMembershipProvider"
type="Microsoft.Samples.SqlMembershipProvider"/>
</providers>
</membership>
如果使用了webpart,web.config文件中webpart节配置如下:
<webParts>
<personalization>
<providers>
<remove name="AspNetSqlPersonalizationProvider"/>
<add
connectionStringName="WebScheduleConnectionString"
name="AspNetSqlPersonalizationProvider"
type="Microsoft.Samples.SqlPersonalizationProvider"/>
</providers>
</personalization>
</webParts>
大功告成,希望microsoft在下一个membership版本中可以改进一下,不要再强迫大家使用dbo用户了。
1、在虚拟主机上建立memebership数据库时(基本虚拟主机sql server数据库都不会提供dbo用户),将membership数据库的sql脚本中所有[dbo].和dbo.去除,这样在建立membership数据库时,所有对象将使用当前连接用户创建。
2、到microsoft下载membership源码,地址:http://download.microsoft.com/download/a/b/3/ab3c284b-dc9a-473d-b7e3-33bacfcc8e98/ProviderToolkitSamples.msi,默认安装(推荐)后可以在C:\Program Files\ASP.NET Provider Toolkit SQL Samples下找到源项目,将该项目添加到你的解决方案中,并且在需要使用的项目中引用该项目。
3、重写membership,将memebership项目中所有源代码中的dbo.去除,重新生成membership项目,这时在你的项目的bin目录下将生成一个ProviderToolkitSampleProviders.dll文件。
4、位置web.config文件中的membership节如下:
<membership>
<providers>
<clear/>
<add
connectionStringName="MyMemeberShipConnectionString"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
applicationName="/"
requiresUniqueEmail="true"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="4"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="10"
passwordStrengthRegularExpression=""
name="AspNetSqlMembershipProvider"
type="Microsoft.Samples.SqlMembershipProvider"/>
</providers>
</membership>
如果使用了webpart,web.config文件中webpart节配置如下:
<webParts>
<personalization>
<providers>
<remove name="AspNetSqlPersonalizationProvider"/>
<add
connectionStringName="WebScheduleConnectionString"
name="AspNetSqlPersonalizationProvider"
type="Microsoft.Samples.SqlPersonalizationProvider"/>
</providers>
</personalization>
</webParts>
大功告成,希望microsoft在下一个membership版本中可以改进一下,不要再强迫大家使用dbo用户了。
相关文章推荐
- 在虚拟主机上部署ASP.NET AJAX 1.0 Beta的程序集
- 将 ASP.NET MVC3 Razor 项目部署到虚拟主机中
- 请教如何在虚拟主机部署最新的ASP.NET AJAX啊?
- [ASP.NET 2.0]虚拟主机上部署AJAX控件
- 在虚拟主机上部署ASP.NET AJAX 1.0 Beta的程序集
- 在虚拟主机上部署ASP.NET AJAX 1.0 Beta的程序集
- 在虚拟主机上部署ASP.NET AJAX 1.0 Beta的程序集
- [转] ASP.NET1.1(C#)中验证码产生的原理及应用
- 虚拟主机上asp.net运行权限不足问题及解决
- 虚拟主机上asp.net运行权限不足问题及解决
- 在虚拟主机上用asp.net轻松实现urlrewrite
- Java进击C#——应用开发之Asp.net
- ASP.NET Web 应用开发实战快速上手系列 2——C#基础
- 10分钟学会在windows-Linux下设置ASP.Net Core开发环境并部署应用
- ASP.NET虚拟主机安全漏洞解决方案
- 在Asp.net中操作IIS的虚拟目录(C#)
- Asp.net网站的ClickOnce自动部署(2)-虚拟目录的配置
- asp.net (C#) RTX(腾讯通) 接口应用 能实现与OA接口
- 在虚拟主机上用asp.net轻松实现urlrewrite
- 让你的ASP.NET虚拟主机也支持子网站