2010-02-08 10 views
5

J'utilise une sécurité personnalisée (pas de fournisseur d'adhésion). Après que l'utilisateur se connecte ... un dossier "App_Data" avec ASPNETDB.MDF est automatiquement créé ... sur ma machine locale. Si je le déploie sur un serveur distant, cela ne fonctionnera pas en raison de contraintes de sécurité sur App_Data.Asp.net mvc ne peut pas fonctionner sans App_Data

Même si je supprime ce dossier et redémarre l'application ... il est recréé, même si j'ai supprimé toutes les références aux fournisseurs Membership/Roles/Profile ... Rien utilisé dans le code ... juste le bon vieux FormsAuthentication.

Comment cela se passe-t-il?

+0

Serait-ce une chose web.config? A quoi ressemblent les données de configuration associées? – ziya

+0

J'ai ajouté mon web.config ... Je ne pense pas que ce soit le problème ici! –

+0

Utilisez-vous le "Web Site Administration Tool" intégré par hasard? – mxmissile

Répondre

1

Il doit toujours y avoir une place dans votre code où Membership/Roles/Profile-service est utilisé. Si le fournisseur n'est pas spécifié, Asp.Net utilise la valeur par défaut => qui crée le fichier .mdf.

Rendez-vous impossible dans votre environnement de développement pour qu'Asp.Net crée le fichier .mdf: E.g. supprimer tous les droits de cette App_Data, mettre dans un fichier texte et le renommer comme ASPNETDB.MDF ou quelque chose comme ça ...

De cette façon, vous obtenez le plantage en mode débogage. Ensuite, vous pouvez voir, quelle est la ligne qui essaie d'utiliser le service => qui utilise ensuite le fournisseur par défaut => crée le fichier DB.

+0

bienvenue à bord ... Je vais essayer –

+0

Cela n'a pas fonctionné ... J'ai trouvé une référence à l'appartenance à Global.asax fichier protégé Application_AuthenticateRequest void() { if (User! = Null) membres .GetUser (true); } –