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 MVC Discussion :

lenteur premiere connexion


Sujet :

ASP.NET MVC

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 69
    Points : 75
    Points
    75
    Par défaut lenteur premiere connexion
    Bonjour,
    j'ai fait une petite appli intranet. Or j'ai des problèmes de lenteur lors de la première connexion.
    Quand un utilisateur se connecte, sa première connexion prend près de 20 secondes. La navigation dans le site est ensuite rapide. Est-ce que cela peut venir du fait que j'ai créé un roleprovider moi-même?
    Si oui, existe-t-il un roleprovider inthebox que me permette d'utiliser les groupes de sécurité comme rôle?
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
     
        public class RoleProviderPerso:RoleProvider
        {
            private IsecService secuService;
     
     
            public RoleProviderPerso()
            {
                this.secuService = DependencyResolver.Current.GetService<IsecService>();
            }
     
     
            public override string[] GetRolesForUser(string username)
            {
                Logger.Debug("GetRolesForUser(" + username + ")", new StackTrace().GetFrame(0));
     
     
                int nbRechercheAD = 0;
                do
                {
                    try
                    {
                        PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "moncontroleurdedomaine");
                        UserPrincipal user = UserPrincipal.FindByIdentity(ctx, username);
                        IEnumerable<GSSecurity> listegs = secuService.allGSs();
                        if (user != null)
                        {
                            List<GroupPrincipal> listeAD = user.GetGroups().Select(x => (GroupPrincipal)x).ToList();
                            return listegs.Where(y => listeAD.Where(z => z.Name.Equals(y.gsSecurityName)).Count() > 0)
                                            .Select(x => x.actionSecurity.actionSecurityName).ToArray();
                        }
                    } 
                    catch (Exception e)
                    {
     
     
                        Logger.Error("GetRolesForUser(" + username + ") essai " + (nbRechercheAD + 1) + ":" + e.StackTrace, new StackTrace().GetFrame(0));
                        Thread.Sleep(1000);
     
     
                    }
                } while (++nbRechercheAD < 3);
     
     
                return null;
            }
     
     
            public override bool IsUserInRole(string username, string roleName)
            {
                Logger.Debug("IsUserInRole('" + username + "' , '" + roleName + "')", new StackTrace().GetFrame(0));
                int nbRechercheAD = 0;
                do
                {
                    try
                    {
                        if (username == null || roleName == null) return false;
                        PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "moncontroleurdedomaine");
                        UserPrincipal user = UserPrincipal.FindByIdentity(ctx, username);
                        if (user == null) return false;
                        return secuService.findActionByRoleName(roleName).gsSecurities
                                                    .Where(gs => user.IsMemberOf(GroupPrincipal.FindByIdentity(ctx, gs.gsSecurityName))).Count() > 0;
                    }
                    catch (Exception e)
                    {
                        Logger.Error("IsUserInRole('" + username + "' , '" + roleName + "')essai " + (nbRechercheAD + 1) + ":" + e.StackTrace, new StackTrace().GetFrame(0));
                        Thread.Sleep(1000);
                    }
                } while (++nbRechercheAD < 3);
                return false;
            }

  2. #2
    Expert éminent
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Points : 9 506
    Points
    9 506
    Par défaut
    Salut,

    Et est-ce que tu peux identifier ce qui prend le plus de temps dans ton processus?

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

Discussions similaires

  1. [postgresql]premiere connexion/ mot de passe
    Par Alex35 dans le forum PostgreSQL
    Réponses: 9
    Dernier message: 28/03/2006, 13h35
  2. Lenteur de connexion(ADO+ACCESS(40 000 lignes)) + ADOComand
    Par hugobob dans le forum Bases de données
    Réponses: 5
    Dernier message: 08/03/2006, 19h14
  3. Lenteur de connexion JavaJDBC/Mysql sur un réseau
    Par F Barbier dans le forum JDBC
    Réponses: 5
    Dernier message: 22/12/2005, 16h31
  4. [10g] Lenteur à la connexion
    Par Cereal123 dans le forum Oracle
    Réponses: 4
    Dernier message: 20/04/2005, 09h45
  5. Lenteur de connexion internet
    Par infotron dans le forum Réseau
    Réponses: 9
    Dernier message: 26/05/2004, 21h30

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