2009-06-05 9 views
0

J'ai une webapp ASP.Net où je voulais tester en utilisant un autre compte local. J'ai donc créé le compte, mais j'ai commencé à recevoir 403 Interdit lors de la connexion avec ce compte. Cela utilise le serveur Web intégré VS 2008 (Cassini). Un collègue a suggéré de donner à ce compte utilisateur des autorisations sur les fichiers de projet que j'ai fait. J'ai également donné à l'utilisateur ASPNET les mêmes autorisations, et à C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Fichiers ASP.NET temporaires, a tué et a redémarré WebDev.WebServer.EXE et a effacé le cache, mais en vain . J'ai inclus l'événement associé dans le journal des événements ci-dessous.403 Interdit avec le serveur Web intégré VS 2008

Des idées sur ce qu'il faut essayer, où chercher ou comment obtenir une cause plus spécifique du problème sous-jacent?

Merci, Clark

Event code: 3005 
Event message: An unhandled exception has occurred. 
Event time: 6/5/2009 2:20:53 PM 
Event time (UTC): 6/5/2009 6:20:53 PM 
Event ID: fc869492b17f4bddb582026ac1752cd6 
Event sequence: 8 
Event occurrence: 1 
Event detail code: 0 

Application information: 
    Application domain: a55c3efc-3-128886994866758750 
    Trust level: Full 
    Application Virtual Path:/
    Application Path: C:\Documents and Settings\Fred\My Documents\Visual Studio 2008\Projects\ETimeLite\ETimeLiteUserControl\ 
    Machine name: MOSSDEV 

Process information: 
    Process ID: 5260 
    Process name: WebDev.WebServer.exe 
    Account name: MOSSDEV\Fred 

Exception information: 
    Exception type: TargetInvocationException 
    Exception message: Exception has been thrown by the target of an invocation. 

Request information: 
    Request URL: http://localhost:35752/Test_EtimeLiteAsUserControl.aspx?nocache=1 
    Request path: /Test_EtimeLiteAsUserControl.aspx 
    User host address: 127.0.0.1 
    User: MOSSDEV\Fred 
    Is authenticated: True 
    Authentication Type: NTLM 
    Thread account name: MOSSDEV\Fred 

Thread information: 
    Thread ID: 4 
    Thread account name: MOSSDEV\Fred 
    Is impersonating: False 
    Stack trace: at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner) 
    at System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner) 
    at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks) 
    at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture) 
    at System.Web.UI.WebControls.ObjectDataSourceView.InvokeMethod(ObjectDataSourceMethod method, Boolean disposeInstance, Object& instance) 
    at System.Web.UI.WebControls.ObjectDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) 
    at System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) 
    at System.Web.UI.WebControls.DataBoundControl.PerformSelect() 
    at System.Web.UI.WebControls.BaseDataBoundControl.DataBind() 
    at System.Web.UI.WebControls.GridView.DataBind() 
    at System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() 
    at System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls() 
    at System.Web.UI.Control.EnsureChildControls() 
    at System.Web.UI.Control.PreRenderRecursiveInternal() 
    at System.Web.UI.Control.PreRenderRecursiveInternal() 
    at System.Web.UI.Control.PreRenderRecursiveInternal() 
    at System.Web.UI.Control.PreRenderRecursiveInternal() 
    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) 


Custom event details: 

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp. 

Répondre

1

L'utilisateur que Cassini accède au fichier en tant que besoins d'avoir des droits sur le fichier en cours d'accès.

Pendant que vous y trouverez beaucoup de réponses spécifiques via google assez facilement, je vais offrir une réponse « apprendre à pêcher » qui yuo'll l'amour ou la haine: -

En utilisant procmon from sysinternals, vous serez capable de voir l'autorisation refusée en interne, ce qui vous permettra d'assigner des permissions suffisantes sur la ressource accessible à l'utilisateur sous l'identité à laquelle il est accédé.

+0

D'accord, a couru procmon. Je ne vois aucun fichier lié au projet listé. La seule chose "intéressante" que je vois (à part quelques dll de frameworks) est liée à WebDev, mais elles semblent être des chemins virtuels dans le GAC, pas des répertoires dont je peux réellement changer les permissions. Y avait-il quelque chose de spécifique que vous pensiez voir? –

+0

Vous pouvez ignorer tous les trucs dans les dossiers cachés (vous avez mentionné dans votre question à propos des personnes suggérant de faire des choses là-dedans). Pendant que les choses sont copiées là-dedans, toutes les vérifications d'autorisations vont aller à l'encontre des fichiers que vous touchez. Votre vidage d'exception indique que Cassini fonctionne en tant que 'Fred' et que le fichier est dans le profil de Fred, ce qui semblerait bien à la surface. Procmon devrait montrer un accès non-réussi au fichier dans le profil si le 403 est lié pour les autorisations de fichiers ... Ceci est une question relativement courante, donc si procmon n'aide pas, googling devrait –

+0

Désolé pour le retard, de retour de la formation. Après avoir lutté avec cela pendant la plus grande partie de la matinée, j'ai punted et maintenant le courir hors d'IIS et cela fonctionne bien. J'ai lu certaines choses qui m'ont fait croire peut-être en WebDev.WebServer.exe, Page.User.Identity est seulement l'utilisateur que le processus est exécuté (pas positif cependant). Quoi qu'il en soit, merci pour les suggestions. –

Questions connexes