1. Nous n'avons pas de vrai serveur, nous louons simplement l'espace .net2.0 + SQLserver et le nom de la base de données SQL est corrigé.
2. Il est impossible pour le fournisseur d'espace de définir la source de données pour nous ou de vous accorder les autorisations de la base de données aspnetdb.
3. Nous n'avons pas les autorisations WindowsMicrosoft.NetFrameworkv2.xConfig sur le serveur.
Connaissant les trois points ci-dessus, si vous transférez directement le projet testé localement sur le serveur, il y aura certainement une erreur (car il appelle WindowsMicrosoft.NetFrameworkv2.xConfig par défaut, je pense). La solution consiste à : Une fois que tout le contenu de la base de données aspnetdb est importé dans votre propre base de données SQL distante, définissez la chaîne de connexion à la base de données web.config du projet.
web.config
<?xml version="1.0"?>
<!--
Remarque : Au lieu de modifier manuellement ce fichier, vous pouvez également utiliser
Outil de gestion Web pour configurer les paramètres de l'application. Vous pouvez utiliser le
Option "Site Web" -> "Configuration Asp.Net".
Une liste complète des paramètres et des annotations se trouve sur
machine.config.comments, qui se trouve généralement dans
WindowsMicrosoft.NetFrameworkv2.xConfig
-->
<configuration xmlns=" http://schemas.microsoft.com/.NetConfiguration/v2.0 ">
<connectionStrings>
<!--Définir la connexion à la base de données-->
<add name="DbName" connectionString="Persist Security Info=False;server=127.0.0.1;database=aspnetdb;uid=sa;pwd=123;pooling=true"/>
</connexionStrings>
<paramètres de l'application>
</appSettings>
<système.web>
<!--
Connexion à la base de données connectionStringName. Cela doit être défini dans web.config
EnablePasswordRetrieval Obtient une valeur indiquant si le fournisseur d'appartenances actuel est configuré pour permettre aux utilisateurs de récupérer leurs mots de passe.
EnablePasswordReset Obtient une valeur indiquant si le fournisseur d'appartenances actuel est configuré pour permettre aux utilisateurs de réinitialiser leurs mots de passe.
requireQuestionAndAnswer Obtient une valeur qui indique si le fournisseur d'appartenances par défaut demande aux utilisateurs de répondre à une question sur le mot de passe pour la réinitialisation et la récupération du mot de passe.
applicationName obtient ou définit le nom de l'application.
requireUniqueEmail Indique si l'utilisateur doit fournir une valeur d'adresse e-mail unique lors de la création de l'utilisateur.
passwordFormat indique le format dans lequel les mots de passe sont stockés dans le magasin de données d'adhésion. Instructions détaillées ci-dessous
maxInvalidPasswordAttempts Obtient le nombre de tentatives de réponse à un mot de passe invalide ou à un mot de passe invalide autorisées avant que l'utilisateur ne soit exclu de son adhésion.
minRequiredPasswordLength Obtient la longueur minimale requise pour un mot de passe.
minRequiredNonalphanumericCharacters Obtient le nombre minimum de caractères spéciaux qui doivent être inclus dans un mot de passe valide.
passwordAttemptWindow Obtient le nombre maximum de tentatives de réponse à un mot de passe invalide ou à un mot de passe invalide autorisées avant que l'utilisateur membre ne soit verrouillé, en minutes.
Description détaillée de Mot de passeFormat
Propriété indiquant le format dans lequel les mots de passe sont stockés. Les mots de passe peuvent être stockés aux formats de mot de passe clair, crypté et haché. Les mots de passe clairs sont stockés en texte clair, ce qui améliore les performances de stockage et de récupération des mots de passe, mais est moins sécurisé et peut être facilement lu lorsque la sécurité de la source de données est compromise. Les mots de passe cryptés sont cryptés lorsqu'ils sont stockés et peuvent être déchiffrés lors de la comparaison ou de la récupération des mots de passe. De tels mots de passe nécessitent un traitement supplémentaire lors du stockage et de la récupération, mais sont plus sécurisés et ne peuvent pas être facilement récupérés lorsque la sécurité de la source de données est compromise. Les mots de passe hachés sont hachés à l'aide d'un algorithme de hachage unidirectionnel et d'une valeur salt générée de manière aléatoire lorsqu'ils sont stockés dans la base de données. Lorsqu'un mot de passe est vérifié, il est haché avec la valeur salt dans la base de données pour vérification. Impossible de récupérer le mot de passe haché.
-->
<roleManager activé="true" />
<adhésion>
<fournisseurs>
<remove name="AspNetSqlMembershipProvider"/>
<ajouter un nom="AspNetSqlMembershipProvider"
type=" System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutre, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="NomBase de données"
activerPasswordRetrieval="false"
activerPasswordReset="true"
nécessiteQuestionAndAnswer="true"
nomapplication="/"
nécessiteUniqueEmail="false"
passwordFormat="Haché"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0"
mot de passeAttemptWindow="10"
mot de passeStrengthRegularExpression="" />
</fournisseurs>
</adhésion>
<!--
Définissez la compilation debug="true" pour insérer des symboles de débogage
dans la page compilée. Mais puisque cela va
Affecte les performances et ne doit donc être défini que pendant le développement
cette valeur.
Options Visual Basic :
La définition de strict="true" désactivera tout
Conversion de type avec perte de données.
La définition de explicit="true" forcera la déclaration de toutes les variables.
-->
<compilation debug="true" strict="false" explicit="true"/>
<pages>
<espaces de noms>
<clair/>
<add namespace="Système"/>
<add namespace="System.Collections"/>
<add namespace="System.Collections.Specialized"/>
<add namespace="System.Configuration"/>
<ajouter un espace de noms="System.Text"/>
<add namespace="System.Text.RegularExpressions"/>
<ajouter un espace de noms="System.Web"/>
<add namespace="System.Web.Caching"/>
<ajouter un espace de noms="System.Web.SessionState"/>
<add namespace="System.Web.Security"/>
<ajouter un espace de noms="System.Web.Profile"/>
<ajouter un espace de noms="System.Web.UI"/>
<add namespace="System.Web.UI.WebControls"/>
<add namespace="System.Web.UI.WebControls.WebParts"/>
<add namespace="System.Web.UI.HtmlControls"/>
</espaces de noms>
</pages>
<!--
La section <authentification> permet de configurer le
mode d'authentification sécurisé,
pour identifier l'utilisateur entrant.
-->
<mode d'authentification="Formulaires" />
<!--
Si une erreur non gérée se produit lors de l'exécution de la requête,
Les étapes de traitement correspondantes peuvent être configurées via la section <customErrors>. Spécifiquement,
Les développeurs peuvent configurer cette section
page d'erreur html à afficher
pour remplacer la trace de la pile d'erreurs.
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErreurs>
-->
</system.web>
</configuration>
Remarque : Le commentaire sur le nœud d'adhésion est reproduit, j'ai oublié l'adresse.
http://lcx.cnblogs.com/archive/2006/06/29/438836.html