网站管理工具将成员资格提供程序更改为MySQLMembershipProvider [英] Web Site Administration Tool change membership provider to MySQLMembershipProvider

查看:67
本文介绍了网站管理工具将成员资格提供程序更改为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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆