Comment puis-je créer un profil d'utilisateur local pour l'utilisateur anonyme de une ASP.Net application MVC sous IIS 7?
J'ai fait des expériences avec des ASP.Net MVC, et suis tombé sur un problème qui n'est probablement pas spécifiquement MVC liés. Mais je ne peux pas obtenir l'authentification par défaut de l'application MVC (celui créé par l'assistant lorsque vous créez un nouveau projet MVC) pour fonctionner correctement sous IIS 7 sur Windows 7.
Si je suis sous l'environnement Visual Studio, il fonctionne, mais si je change les paramètres pour fonctionner sous IIS au lieu de cela, j'obtiens l'exception suivante en essayant de soumettre la connexion ou inscription:
Échec de la création d'une instance utilisateur de
SQL Server en raison d'une défaillance dans
la récupération de la locale de l'utilisateur
application de chemin de données. Veuillez faire
assurez-vous que l'utilisateur dispose d'un profil d'utilisateur local
sur l'ordinateur. La connexion
être fermé.
Je crois que c'est parce que le site fonctionne sous mon propre compte, dans Visual Studio, mais sous le compte IUSR dans IIS. Les recherches Google sur le message d'exception ont été inutiles jusqu'à présent.
Peut-on créer un profil d'utilisateur local pour le compte IUSR? Si oui, comment? Est-il autre chose que je devrais faire pour obtenir l'SQLExpress moteur de travailler pour le compte anonyme dans IIS 7?
J'ai aussi essayé de configurer le site web IIS pour utiliser mon compte, mais comme c'est mon ordinateur à la maison, mon compte n'a pas un mot de passe, et il semble qu'IIS ne voulez pas qu'un site web être configuré pour utiliser un compte sans mot de passe. Ou, puisque c'est ma première expérience avec IIS 7, et la configuration se sent très différent de IIS 5/6, je suis en manque juste le bon réglage qui me permettra de configurer le compte à utiliser pour l'accès anonyme.
EDIT: Quelques informations supplémentaires. Si je vide le dossier App_Data et essayez à nouveau à partir de IIS, SQLExpress tente de créer ma base de données et échoue, mais le message de l'exception a plus d'informations en suivant les suggestions suivantes.
SQLExpress fichier de base de données auto-création
erreur:La chaîne de connexion spécifie une
local instance Sql Server Express
à l'aide d'une base de données de localisation à l'intérieur de la
applications App_Data répertoire. L'
fournisseur de tentative automatiquement
créer la demande de services
parce que le fournisseur de base de données
déterminé que la base de données n'
existent. La configuration suivante
exigences sont nécessaires pour
avec succès à vérifier l'existence de
les services d'application de base de données et
créer automatiquement l'application
les services de base de données:
- Si les applications App_Data répertoire n'existe pas, la
serveur web compte doit avoir lu et
l'accès en écriture pour les applications
répertoire. Cela est nécessaire parce que
le serveur web compte
créer automatiquement le App_Data
répertoire s'il n'est pas déjà
existent.- Si les applications App_Data répertoire existe déjà, le web
compte de serveur exige seulement de lire et d'
l'accès en écriture pour les applications
App_Data répertoire. Cela est nécessaire
parce que le serveur web compte
tenter de vérifier que le Serveur Sql
Express de la base de données existe déjà au sein de
les applications App_Data répertoire.
La révocation de l'accès en lecture sur le App_Data
répertoire du serveur web de compte
va empêcher le prestataire de
déterminer correctement si le Sql
Serveur de base de données Express déjà
existe. Cela provoquera une erreur lors de l'
le fournisseur tente de créer un
la copie d'une déjà existante
la base de données. L'accès en écriture est nécessaire
parce que les comptes de serveur web
les informations d'identification sont utilisées lors de la création de la
nouvelle base de données.- Express de Sql Server doit être installé sur la machine.
- L'identité de processus pour le serveur web compte doit disposer d'un utilisateur local
de profil. Consultez le fichier readme pour
les détails sur la façon de créer un utilisateur local
profil de la machine et de domaine
comptes.
J'ai assez largement confirmé que les trois premières suggestions ont été satisfaits. La quatrième semble être la cause de mes problèmes, mais je ne peux pas comprendre comment le faire. Et bien que la suggestion de réclamations il y a un readme document qui la décrit, je n'ai pas été en mesure de trouver ce document.
OriginalL'auteur GBegen | 2009-02-09
Vous devez vous connecter pour publier un commentaire.
J'ai eu ce problème aussi bien s'exécutant sous un niveau de confiance moyen. Le processus qui crée la base de données nécessite au moins d'une grande confiance. Vous pouvez le vérifier en regardant dans votre site Web.Config pour
Si il n'y a pas de confiance spécifié dans votre site Web.Config, essayez de l'ajouter et de le régler à temps Plein ou Élevé. Si cela ne fonctionne pas, il est une machine.config dans votre IIS qui vous auriez besoin de les modifier.
Cela étant dit, la meilleure route que j'ai trouvé pour résoudre ce problème est de simplement utiliser aspnet_regsql.exe pour créer les tables nécessaires, puis modifiez la chaîne de connexion dans votre site Web.Config pour les regarder directement.
Cela a résolu mon problème. Assurez-vous d'ajouter l'élément <système.web>!
OriginalL'auteur Nick Larsen
J'ai résolu "Le répertoire 'LocalApplicationData" n'existe pas." erreur lors de l'exécution d'un package SSIS par le biais d'un Travail SQL, en assurant le SQL SSIS de service de l'Agent SQL Server et le service étaient en cours d'exécution sous le même compte que le swql de l'emploi a été défini pour utiliser!
Ce qui dans mon cas était un compte de domaine.
OriginalL'auteur Nathan
Solution: Essayez de DÉSINSTALLER les mises à jour avant de commencer à avoir le problème. J'ai passé d'innombrables heures perdu des heures que je n'obtiendrez jamais de retour dans ma vie - la lecture et à la suite de chaque solution possible, sans succès. J'ai désinstallé toutes les mises à jour SQL Server et maintenant tout fonctionne très bien.
Oui, l'exécution de SQL Server sans mises à jour de sécurité est une excellente idée...
OriginalL'auteur johnv