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.
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? –
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 –
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. –