2009-08-19 11 views
2

J'ai créé un utilisateur en utilisant CreateUserWizard - control.ASP.NET FormsAuthentication.Authenticate() ne fonctionne pas

Mon fichier web.config est la suivante:

<?xml version="1.0"?> 

<configuration> 

    <appSettings/> 

    <connectionStrings> 
    <remove name="LocalSqlServer"/> 
    <add name="ConnString1" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=IceWebPortal_SQL2K5;user=sa;password=;integrated security=true;" providerName="System.Data.SqlClient"/> 
    <add name="LocalSqlServer" connectionString="Data Source=localhost;Initial Catalog=aspnet_membership_test;Integrated Security=True" providerName="System.Data.SqlClient"/> 
    </connectionStrings> 

    <system.web> 
     <!-- 
      Set compilation debug="true" to insert debugging 
      symbols into the compiled page. Because this 
      affects performance, set this value to true only 
      during development. 
     --> 
     <compilation debug="true" /> 
     <!-- 
      The <authentication> section enables configuration 
      of the security authentication mode used by 
      ASP.NET to identify an incoming user. 
     --> 
    <authentication mode="Forms"> 
     <forms 
     name="CookieDemo" 
     loginUrl="Default.aspx" 
     protection="All" 
     timeout="30" 
     path="/" 
     /> 
    </authentication> 
    <!--<authorization> 
     <deny users="?"/> 
    </authorization>--> 
    </system.web> 

    <location path="Default.aspx"> 
    <system.web> 
     <authorization> 
     <allow users="*"></allow> 
     </authorization> 
    </system.web> 
    </location> 
</configuration> 

Je constate que, FormsAuthentication.Authenticate(username, password); retourne toujours faux.

string username = this.usernameTextBox.Text; 
string password = this.passwordTextBox.Text; 

bool success = FormsAuthentication.Authenticate(username, password); 

if (success) 
{ 
} 

Quel peut être le problème?

Répondre

3

Vous devez ajouter par ex. un MembershipProvider configuration ou ajouter des utilisateurs directement à web.config (ce qui est probablement pas une bonne idée) -

Exemple:

<membership> 
    <providers> 
     <clear /> 
     <add name="AspNetSqlMembershipProvider" 
      type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" 
      connectionStringName="ApplicationServices" 
      enablePasswordRetrieval="false" 
      enablePasswordReset="true" 
      requiresQuestionAndAnswer="false" 
      requiresUniqueEmail="false" 
      passwordFormat="Hashed" 
      maxInvalidPasswordAttempts="5" 
      minRequiredPasswordLength="6" 
      minRequiredNonalphanumericCharacters="0" 
      passwordAttemptWindow="10" 
      passwordStrengthRegularExpression="" 
      applicationName="/" /> 
    </providers> 
</membership>