IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

throw automatique accessdeniedexception


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 205
    Par défaut throw automatique accessdeniedexception
    Bonjour,

    Voici un petit morceau de code quie se trouve dans la methode page_load (code behind d'une page aspx):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    try
         {
          try
              { //cherche l'utilisateur dans le premier groupe
                 privilegiedWebsite.web.Groups[SPUtility.GetLocalizedString("$Resources:userCraGroup", "CRA", website.web.Language)].Users[user];
              }
              catch (UnauthorizedAccessException e)
              {//cherche l'utilisateur dans le second groupe
                                    string test3 = "test42";
              }
           }
           catch (Exception e)
                 {
                       int u = 0;
                 }
           }

    N'ayant pas les droits suffisants, je ne dois pas pouvoir acceder a "users" dans la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    privilegiedWebsite.web.Groups[SPUtility.GetLocalizedString("$Resources:userCraGroup", "CRA", website.web.Language)].Users[user];
    Une exception Unauthorizedaccessexception est renvoye, et je la catch avec succes. Jusqu'ici tout est normal.

    Cependant, meme si dans mon premier catch je ne renvoi pas d'exception, je parviens a recatcher une exception dans le deuxieme catch, comme si une nouvelle exception avait ete renvoyee. Si je rajoute un niveau de try/catch, je vais encore recatcher une exception, ceci a l'infini....

    Au final, mon code juste apres avoir catche une "unauthorizedAccessException" ne s'exécute pas, et le prochain code exécuté est la méthode "page_unload" de ma page aspx.


    J'en ai déduit que des qu'une exception de type unauthorizedaccessexception était levée, ca remontait toute la stack, puis ça sautait sur le unload de ma page sans exécuter le reste de mon code pour des raison de sécurité. (j'ai le droit a une belle page "accès refuse" au final).

    Quelqu'un peut-il confirmer ou infirmer ma théorie et éventuellement explique en détail le mécanisme?

    Merci par avance.

    PS: C'est vraiment pour comprendre le mécanisme, je ne suis pas bloqué par ceci


    EDIT: j'ajoute que si dans mon premier catch, je fait un throw(new exception("coucou")), c'est l'exception "fantôme" que j'intercepte dans le 2eme catch, et non pas l'exception que j'ai throwé

  2. #2
    Membre chevronné Avatar de jacky01
    Profil pro
    Développeur .NET
    Inscrit en
    Juin 2007
    Messages
    537
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juin 2007
    Messages : 537
    Par défaut
    Bonjour,

    Question bête, mais de quel type est l'exception dans le second catch ?

    C'est une UnauthorizedAccessException ? ou une autre ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    205
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 205
    Par défaut
    Visual studio ne veux pas m'indiquer le type de cette exception (ca dit que le code est optimise ou..... ).

    J'ai pas essaye de faire un getType() sur l'exception par contre, je vais tester ça demain.

Discussions similaires

  1. [VB6] [Interface] Redimensionnement automatique
    Par ychalan dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 30/09/2002, 18h32
  2. BDE : Configurer automatiquement le NETDIR
    Par Harry dans le forum Paradox
    Réponses: 10
    Dernier message: 29/07/2002, 11h33
  3. Génerer automatiquement plusieurs fichier .doc
    Par brunovitch dans le forum QuickReport
    Réponses: 3
    Dernier message: 09/07/2002, 08h19
  4. Re-dimensionnement automatique de composants
    Par ludo_7 dans le forum C++Builder
    Réponses: 10
    Dernier message: 16/05/2002, 16h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo