网站管理工具将成员资格提供程序更改为MySQLMembershipProvider [英] Web Site Administration Tool change membership provider to MySQLMembershipProvider
问题描述
我正在尝试按照本教程http://dev.mysql.com/doc/refman/5.7/en/connector-net-tutorials-asp-roles.html/
事情总是遇到同样的问题。当我将会员提供者更改为MySQLMembershipProvider时,当我点击安全性时,我收到此错误。
您选择的数据存储存在问题。这可能是由无效的服务器名称或凭据或权限不足引起的。它也可能是由未启用角色管理器功能引起的。单击下面的按钮可重定向到可以选择新数据存储的页面。
以下消息可能有助于诊断问题:找不到源,但无法搜索部分或全部事件日志。要创建源,您需要具有读取所有事件日志的权限,以确保新源名称是唯一的。无法访问的日志:安全。
web.config连接代码
< connectionStrings>
< remove name = LocalMySqlServer />
< add name = MySqlMembershipProvider connectionString = server = 000.000.000.000; User Id = benoatsc_admin; database = *****; password = ****; Persist Security Info = True
providerName = MySql.Data.MySqlClient />
< / connectionStrings >
machine.config的代码
< pre lang =c#>< membership defaultProvider = MySqlMembershipProvider >
< providers>
< clear />
< add name = MySqlMembershipProvider
type = MySql.Web.Security.MySQLMembershipProvider,mysql.web
connectionStringName = Greenfilm
enablePasswordRetrieval = false
enablePasswordReset = true
requiresQuestionAndAnswer = false
requiresUniqueEmail = true
passwordFormat = 哈希
maxInvalidPasswordAttempts = 5
minRequiredPasswordLength = 6
minRequiredNonalphanumericCharacters = 0
passwordAttemptWindow = 10
applicationName = /
autogenerateschema = true />
< / 提供商 >
< / 成员资格 >
< profile>
< providers>
< add name = AspNetSqlProfileProvider connectionStringName = LocalSqlServer applicationName = / type = System.Web.Profile.SqlProfileProvider,System.Web,Version = 4.0.0.0 ,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a />
< add name = MySQLProfileProvider type = MySql.Web.Profile.MySQLProfileProvider,MySql.Web,Version = 6.7.4.0,Culture = neutral,PublicKeyToken = c5687fc88969c44d connectionStringName = < span class =code-string> Greenfilm applicationName = / />
< / 提供商 >
我现在已经在这里工作了4天,一遍又一遍地重做相同的教程,仍然回来问题。
谢谢
Ben。
嗨Ben,
您在providers标签中的connectionstringName属性必须是您在连接字符串中提供的名称
例如:
< connectionstrings>
< remove name =LocalMySqlServer/>
< add name =MySqlMConnectionStringconnectionstring =server = 000.000.000.000; User Id = benoatsc_admin; database = *****; password = ****; Persist Security Info = True>
providerName =MySql.Data.MySqlClient/>
< / add>< / connectionstrings>
< membership defaultprovider =MySqlMembershipProvider >
< providers>
< clear />
< add name =MySqlMembershipProvider
type =MySql.Web.Security.MySQLMembershipProvider,mysql.web
connectionStringName =MySqlMConnectionString
enablePasswordRetrieval =false
enablePasswordReset =true
requiresQuestionAndAnswer =false
requiresUniqueEmail =true
passwordFormat =Hashed
maxInvalidPasswordAttempts =5
minRequiredPasswordLength = 6
minRequiredNonalphanumericCharacters =0
passwordAttemptWindow =10
applicationName =/
autogenerateschema =true/>
< / add>< / providers>
< / membership>
< profile>
< providers>
< add name =AspNetSqlProfileProviderconnectionstringname =MySqlMConnectionStringapplicationname =/type =System.Web.Profile.SqlProfileProvider,System.Web,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a />
< / providers>< / profile>
我认为这会解决你的问题。
I am trying to follow this tutorial http://dev.mysql.com/doc/refman/5.7/en/connector-net-tutorials-asp-roles.html/
Thing is im always running into the same problem. When i change the membership provider to MySQLMembershipProvider i get this error when i click on security.
There is a problem with your selected data store. This can be caused by an invalid server name or credentials, or by insufficient permission. It can also be caused by the role manager feature not being enabled. Click the button below to be redirected to a page where you can choose a new data store.
The following message may help in diagnosing the problem: The source was not found, but some or all event logs could not be searched. To create the source, you need permission to read all event logs to make sure that the new source name is unique. Inaccessible logs: Security.
code for web.config connection
<connectionStrings>
<remove name="LocalMySqlServer"/>
<add name="MySqlMembershipProvider" connectionString="server=000.000.000.000;User Id=benoatsc_admin;database=*****;password=****;Persist Security Info=True"
providerName="MySql.Data.MySqlClient" />
</connectionStrings>
code for machine.config
<membership defaultProvider="MySqlMembershipProvider">
<providers>
<clear/>
<add name="MySqlMembershipProvider"
type="MySql.Web.Security.MySQLMembershipProvider, mysql.web"
connectionStringName="Greenfilm"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="true"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="10"
applicationName="/"
autogenerateschema="true"/>
</providers>
</membership>
<profile>
<providers>
<add name="AspNetSqlProfileProvider" connectionStringName="LocalSqlServer" applicationName="/" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add name="MySQLProfileProvider" type="MySql.Web.Profile.MySQLProfileProvider, MySql.Web, Version=6.7.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="Greenfilm" applicationName="/" />
</providers>
I have been at this now for 4 days redoing the same tutorial from over and over, still comes back to the problem.
Thanks
Ben.
Hi Ben,
Your connectionstringName property in providers tag has to be the name that you give in the connection string
eg:
<connectionstrings> <remove name="LocalMySqlServer" /> <add name="MySqlMConnectionString" connectionstring="server=000.000.000.000;User Id=benoatsc_admin;database=*****;password=****;Persist Security Info=True"> providerName="MySql.Data.MySqlClient" /> </add></connectionstrings>
<membership defaultprovider="MySqlMembershipProvider"> <providers> <clear /> <add name="MySqlMembershipProvider" type="MySql.Web.Security.MySQLMembershipProvider, mysql.web" connectionStringName="MySqlMConnectionString" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="true" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" autogenerateschema="true"/> </add></providers> </membership> <profile> <providers> <add name="AspNetSqlProfileProvider" connectionstringname="MySqlMConnectionString" applicationname="/" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </providers></profile>
I think this would solve your problem.
这篇关于网站管理工具将成员资格提供程序更改为MySQLMembershipProvider的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!