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 :

module authentification asp c#


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Par défaut module authentification asp c#
    Bonjour, priere de m'aider a reussir mon module de l'authentification :

    j'ai crée 3 roles admin, service1, service 2

    dans mon projet j'ai les dossier suivants :

    Account (login, changer mot de passe) avec web config allow admin, service1, service 2
    Administrateurs (register, utilisateurs) admin, service1, service 2
    Service1(paage 1, 2) admin, service1,
    Service2(page 3, page 4) admin, , service 2
    Defaut et master page
    webconfig <deny users="?" />

    mais j'ai beacoup de probleme, ca ne marche pas comme je veux :

    - quand j'affecte admin a un ustilisteurs ca ne marche pas, par contre je peux affecter les autres
    - dans mon fichier login j'ai mis le code suivant :
    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
     
    protected void Page_Load(object sender, EventArgs e)
        {
            string pageDestination = "Default.aspx";
     
            string username = ((TextBox)this.LoginUser.FindControl("UserName")).Text;
     
            if (username != "")
            {
     
                System.Data.SqlClient.SqlDataReader oDBDataReader;
     
                String Query = "SELECT aspnet_Roles.RoleName FROM aspnet_Roles INNER JOIN aspnet_UsersInRoles ON aspnet_Roles.RoleId = aspnet_UsersInRoles.RoleId INNER JOIN " +
                    "aspnet_Users ON aspnet_UsersInRoles.UserId = aspnet_Users.UserId WHERE aspnet_Users.UserName='" + username + "'";
     
                connection.Open();
                DataTable dt = new DataTable();
     
                SqlCommand cmdDatabase = new SqlCommand(Query, connection);
                oDBDataReader = cmdDatabase.ExecuteReader();
     
                dt.Load(oDBDataReader);
     
                string[] rolesThisUser = dt.AsEnumerable().Select(row => row.Field<string>("RoleName")).ToArray();
     
                oDBDataReader.Close();
                connection.Close();
     
                List<String> roles = rolesThisUser.ToList();
     
                if (roles.Contains("Admin"))
                {
                    pageDestination = "~/Default.aspx";
                }
                else if (roles.Contains("service1") && !roles.Contains("service2"))
                {
                    pageDestination = "~/Default.aspx";
                }
                else if (!roles.Contains("service1") && roles.Contains("service2"))
                {
                    pageDestination = "~/service2/Traitement_dossier.aspx";
                }
                else if (roles.Contains("service1") && roles.Contains("service2"))
                {
                    pageDestination = "~/Default.aspx";
                }
                else
                {
                    pageDestination = "Login.aspx";
     
                }
     
            }
     
            LoginUser.DestinationPageUrl = pageDestination + "?ReturnUrl=" + HttpUtility.UrlEncode(Request.QueryString["ReturnUrl"]);
        }
    cela veut dire si c'est le role admin ou service 1 qui sont connecté je les redirige vers default sinon si c'est service 2 c'est vers traitement

    mais ca ne marche pas et parfois ca me donne improssible d'acceder a la ressource et il imbrique les dossiers Administrateurs/Service2/page ???

    *- comment puis je afficher une page dans laquelle je met un message comme quoi cet utilisateur ne peut pas acceder a cette page si ce dernier n'a pas les droits suffisants


    Merci pour votre aide

  2. #2
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    1 596
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 1 596
    Par défaut
    J'ai changé le href par asp:hyperlink et tous mes problemes se sont résolus

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. authentification ASP.NET en C#
    Par karimdislog dans le forum ASP.NET
    Réponses: 1
    Dernier message: 11/07/2007, 08h05
  2. prob connexion acces et module authentification
    Par miss_monika dans le forum C#
    Réponses: 1
    Dernier message: 04/05/2007, 11h18
  3. [LDAP] développement module authentification
    Par frizou11 dans le forum C
    Réponses: 3
    Dernier message: 17/02/2007, 04h49
  4. [Continuum] projet multi-modules +authentification serveur
    Par rseM2 dans le forum Intégration Continue
    Réponses: 13
    Dernier message: 15/02/2007, 17h28
  5. mécanisme d'authentification asp
    Par lalyly dans le forum ASP
    Réponses: 1
    Dernier message: 27/11/2005, 18h53

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