none
MySqlRoleProvider, MySqlMembershipProvider, MySqlProfileProvider, MySql Connector .NET 5.2.3 RRS feed

  • 问题

  •  

    Alguém sabe como fazer pra funcionar, acho que o que eu tenho é antigo, não funciona:

     

    Code Snippet
     <connectionStrings>
      <add name="MySqlConnectionString" connectionString="Server=localhost;User ID=tiagoborges;Password=teset;Persist Security Info=True;Database=banco" providerName="MySql.Data.MySqlClients"/>
     </connectionStrings>
     <system.web>
      <membership defaultProvider="MySqlMembershipProvider">
              <providers>
                <clear/>
                <add name="MySqlMembershipProvider" type="MySql.Web.Security.MySqlMembershipProvider, MySql.Web" connectionStringName="MySqlConnectionString" enablePasswordRetrieval="false" enablePasswordReset="true" requiresUniqueEmail="true" requiresQuestionAndAnswer="true" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" applicationName="App" hashAlgorithmType="SHA1" passwordFormat="Hashed"/>
              </providers>
            </membership>
            <roleManager enabled="true" cacheRolesInCookie="true" defaultProvider="MySqlRoleProvider">
              <providers>
                <clear/>
                <add connectionStringName="MySqlConnectionString" applicationName="eBase" name="MySqlRoleProvider" type="MySql.Web.Security.MySqlRoleProvider, MySql.Web"/>
              </providers>
            </roleManager>
            <profile enabled="true" defaultProvider="MySqlProfileProvider">
              <providers>
                <clear/>
                <add name="MySqlProfileProvider" type="MySql.Web.Security.MySqlProfileProvider, MySql.Web" connectionStringName="MySqlConnectionString" applicationName="eBase" description="Stores and retrieves profile data from an $safeprojectname$ database."/>
              </providers>
              <properties>
                <add name="FriendlyName" type="string" allowAnonymous="true" serializeAs="String"/>
                <add name="Height" type="int" allowAnonymous="true" serializeAs="String"/>
                <add name="Weight" type="int" allowAnonymous="true" serializeAs="Xml"/>
                <add name="Perfil" type="string" allowAnonymous="false" defaultValue="" serializeAs="String"/>
              </properties>
            </profile>
            <anonymousIdentification enabled="true" cookieName=".ASPXANONYMOUS" cookieTimeout="100000" cookiePath="/" cookieRequireSSL="false" cookieSlidingExpiration="true" cookieProtection="None" domain=""/>
            <webParts>
              <personalization defaultProvider="MySqlPersonalizationProvider">
                <providers>
                  <add name="MySqlPersonalizationProvider" type="MySql.Web.Security.MySqlPersonalizationProvider, MySql.Web" connectionStringName="MySqlConnectionString" applicationName="eBase"/>
                </providers>
              </personalization>
            </webParts>
     </system.web>

     

     

    MySql 5.1

     

    Esta errado aonde?

    2008年8月29日 0:09

答案

  • Tiago, eu acho melhor você fazer da forma automática.

     

    Primeiro: vc deve copiar a dll MySql.Web.dll que esta na pasta que você instalou o conector mysql para a pasta Bin de seu sistema.

    Segundo: Configurar o web.config assim:

     

    <system.web>

    <roleManager defaultProvider="MySqlProvider" enabled="true">

    <providers>

    <add name="MySqlProvider" type="MySql.Web.Security.MySQLRoleProvider" connectionStringName="nome_da_sua_conecao" writeExceptionsToEventLog="false" applicationName="MyApplication"/>

    </providers>

    </roleManager>

    <authentication mode="Forms"/>

    <membership defaultProvider="MySQLProvider" userIsOnlineTimeWindow="15">

    <providers>

    <add name="MySQLProvider" type="MySql.Web.Security.MySQLMembershipProvider" connectionStringName="nome_da_sua_conecao" applicationName="MyApplication" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" passwordAttemptWindow="10"/>

    </providers>

    </membership>

     

    </system.web>

     

    Desta forma, quando vc entrar na administração do site ele se encarregará de criar toda a infraestutura para atender um sistema de autenticação.

     

    Espero ter ajudado.

    2008年8月29日 3:10

全部回复

  • Tiago, eu acho melhor você fazer da forma automática.

     

    Primeiro: vc deve copiar a dll MySql.Web.dll que esta na pasta que você instalou o conector mysql para a pasta Bin de seu sistema.

    Segundo: Configurar o web.config assim:

     

    <system.web>

    <roleManager defaultProvider="MySqlProvider" enabled="true">

    <providers>

    <add name="MySqlProvider" type="MySql.Web.Security.MySQLRoleProvider" connectionStringName="nome_da_sua_conecao" writeExceptionsToEventLog="false" applicationName="MyApplication"/>

    </providers>

    </roleManager>

    <authentication mode="Forms"/>

    <membership defaultProvider="MySQLProvider" userIsOnlineTimeWindow="15">

    <providers>

    <add name="MySQLProvider" type="MySql.Web.Security.MySQLMembershipProvider" connectionStringName="nome_da_sua_conecao" applicationName="MyApplication" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" passwordAttemptWindow="10"/>

    </providers>

    </membership>

     

    </system.web>

     

    Desta forma, quando vc entrar na administração do site ele se encarregará de criar toda a infraestutura para atender um sistema de autenticação.

     

    Espero ter ajudado.

    2008年8月29日 3:10
  • Marcos,

    Fiz as alterações que disse no web.config... Não percebi muito bem qual a paste Bin a que se refere...  Refere-se a: MySQL\MySQL Server 5.1\bin ?

    O erro que me dá é:

    Descrição:
    Erro ao processar um ficheiro de configuração necessário para efectuar este pedido. Consulte os detalhes específicos do erro mais abaixo e modifique o ficheiro de configuração conforme apropriado.

    Mensagem de erro do analisador: Não foi possível carregar o tipo 'MySql.Web.Security.MySQLRoleProvider'.

    Erro de origem:

    Linha 40: 		<roleManager defaultProvider="MySqlProvider" enabled="true">
    Linha 41: <providers>
    Linha 42: <add name="MySqlProvider" type="MySql.Web.Security.MySQLRoleProvider" connectionStringName="MyEstaleiroConnectionString" writeExceptionsToEventLog="false" applicationName="MyApplication"/>
    Linha 43: </providers>
    Linha 44: </roleManager>

    Ficheiro de origem: D:\Os meus documentos\Visual Studio 2008\WebSites\Estaleiro\web.config    Linha: 42


    Será que me pode ajudar? Muito obrigada.
    2009年2月26日 2:59
  • Bequitas,
    eu tive o mesmo problema e solucionei da seguinte forma:
    - pegue a dll que se encontra na pasta bin do mysql e copie para a bin do seu projeto.
     
    quando vc fizer o upload para o servidor web, carregue a pasta bin contendo a referida dll.... e pronto..
    2009年4月18日 2:00