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 :

Identification perso, imcomplete:


Sujet :

ASP.NET

  1. #1
    Membre éprouvé

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Billets dans le blog
    1
    Par défaut Identification perso, imcomplete:
    Bonjour,
    Je crée un site pour mon lycée, pour savoir quel genre de personne se connecte, je regarde son nom et je vais voir s'il existe dans la base de donnée, dans laquelle il y a les noms des utilisateurs avec lesquels il y a leur type.
    Voilà ce que j'ai fait, dans le global.asax:
    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
     AppDomain.CurrentDomain.SetPrincipalPolicy(System.Security.Principal.PrincipalPolicy.WindowsPrincipal)
    ' Code qui s’exécute lorsqu’une nouvelle session démarre
    'On va chercher le nom de l'utilisateur xp
    Dim ident As System.Security.Principal.WindowsIdentity = System.Security.Principal.WindowsIdentity.GetCurrent()
    Dim monSplit As String()
    Dim monUser As String = ident.Name
    'On ne prend que le nom sans pédagogie (car le nom est : Pédagogie\nomutilisateur)
    monSplit = monUser.Split("\")
    Dim User As String = monSplit(1)
    'Connexion
    Dim connection As New System.Data.SqlClient.SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings("ConnexionUtilisateurs").ConnectionString)
    'requête pour savoir si l'utilisateur existe.
    Dim requete As String
    requete = "SELECT [Type], [Profil] FROM [Utilisateurs] WHERE ([Nom] = @Nom)"
    Dim cmd As New Data.SqlClient.SqlCommand(requete, connection)
    Dim oParam As Data.SqlClient.SqlParameter = cmd.Parameters.Add("@nom", Data.SqlDbType.Char, 25, "Nom")
    oParam.Value = User
    connection.Open()
    Dim reader As Data.SqlClient.SqlDataReader = cmd.ExecuteReader()
    reader.Read()
    connection.Close()
    Maintenant, je voudrais pouvoir les identifier en utilisant les propriétés du control login, cela pour pouvoir ajouter des rôles selon leur type et ainsi pouvoir restreindre l'accès à certaines parties du site.

    Merci

    Cordialement
    PS:je pense que celà peut aider:http://msdn2.microsoft.com/fr-fr/lib...74(VS.80).aspx mais je ne comprend pas bien, ou rien en fait.

  2. #2
    Expert confirmé
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160

  3. #3
    Membre éprouvé

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Billets dans le blog
    1
    Par défaut
    Ou, mais déjà la je n'ai pas tout compris, car je crée moi-même ma base de donnée, et je ne sais pas comment ça marche exactement, pour dire a ASP.net quel est la colonne de nom...

    Je n'arrive pas a tout comprendre.
    Mais c'est surtout le sqlRoleprovider que je voudrais configurer

  4. #4
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    tu as un utilitaire ASPNET_REGSQL.exe dans le repertoire du framework2 qui te permet de configurer tout ça en 2 click de souris..

    il te crée les tables, procédure stockées et les vues nécessaires.. t as plus qu'à definir ta chaine de connexion sur le web.config.

  5. #5
    Membre éprouvé

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Billets dans le blog
    1
    Par défaut
    Oui, mais justement, j'aimerais apprendre a le faire tout seul
    De plus, je suis sur les ordinateurs du lycée, vu que c'est un site intranet, ils ont bienvoulu acheter le logiciel, mais j'ai une restriction pour demarrer ça.

  6. #6
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    Pourquoi veux-tu inventer la roue????


    En plus si tu es dans un intranet, et tu disposes d'un domaine AD, avec un compte pour chaque utilisateur, tu devrais utiliser l'authenification windows...

    comme ça tes utilisateurs et tes roles seront gérés de manière centralisée dans AD

  7. #7
    Membre éprouvé

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Billets dans le blog
    1
    Par défaut
    Ben, en fait,
    si je ais ça, c'est parce que, moi je n'ai pas accès aux noms d'utilisateurs, sauf temporairement.

    Si je fais ça, donc... c'est pour pouvoir donner, temporairement ou non des droit a certains utilisateurs, il y a trois types: administrateur, professeur, élevé.

    Et, même encore d'autres....
    Donc, si je fais ça c'est pour pouvoir configurer pas selon le groupe d'utilisateur, mais selon la personne, certaines personnes, étant élève pourraient accéder a un rôle de rédacteur, accessible qu'a certaines personnes, etc.

    Donc, pour faire simple, voilà dans ma tête, ce que je voudrais qui se passe:

    je chope le nom de la personne, et je vais voire les droits qu'elle a: administrateur, rédacteur (pour créer de nouvelles pages), ou autre...
    Et, à partir de là, je lui donne un rôle.

    (C’est pourquoi je demande ça.)

  8. #8
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    Je suis d'accord mais il y a d'autres moyens de faire ça.... et en utilisant des choses existantes...

    Tu peux très bien faire ce que tu veux en utilisant les comptes windows..

    Dans AD tu as des groupes locaux et globaux (= roles) du coup tu peux regarder pour donner les droits aux groupes...

    comme ça tes users n'ont pas de mot de passe supplémentaire à retenir et seront authentifiés automatiquement.

    Bref,,,

    Autrement tu peux implémenter la solution existante avec ASPNET_REGSQL.exe c'est vraiment complet comme solution --> c'est un gain de temps non négligeable.. et en plus ça nécessite aucune ligne de code..

  9. #9
    Membre éprouvé

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par bossun
    Dans AD tu as des groupes locaux et globaux (= roles) du coup tu peux regarder pour donner les droits aux groupes...

    Autrement tu peux implémenter la solution existante avec ASPNET_REGSQL.exe c'est vraiment complet comme solution --> c'est un gain de temps non négligeable.. et en plus ça nécessite aucune ligne de code..
    Bon, ce qui me perd dans le premier paragraphe, c'est qu'est-ce qu'AD?
    De plus, la solution ASPNET_REGSQL.exe m'interresse, mais si je cherche à inventer la roue, c'est pour bien comprendre comment elle fonctionne et ensuite lui ajouter le caoutchouc, pour avoir une meilleure adhérence.

    Voilà pourquoi je cherche à utiliser ça.
    S'une certaine manière, pour apprendre, je pourrais chercher à recréer ce que fait ASPNET_REGSQL.exe, pour ensuite l'utiliser directement mais, en pouvant y apporter les modifications que je veux, c'est à dire n'importe lesquelles.

    Le gain de temps, ce n'est pas ce que je cherche. Quoi qu'il serait bien de pouvoir finir avant juin.

  10. #10
    Membre éprouvé

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Billets dans le blog
    1
    Par défaut
    Je viens d'utiliser l'assistant reg_sql ou un truc dans ce genre.

    Et, après?? Je ne sais pas comment je fais.

  11. #11
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    c'est qu'est-ce qu'AD?
    Active Directory (à partir de Windows 2000)

    après avoir utillisé aspnet_regsql va voir ta base de données et tu verras les modifications qu'il a apporté.. tu verras les tables,procédures,et vues qui viennent d'etre ajoutée...

    il te reste à configurer ton web.config pour utiliser ton gestionaire de users :-D

  12. #12
    Membre éprouvé

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Billets dans le blog
    1
    Par défaut
    J'ai vue déjà ce que ça avait changé.

    D'ailleurs, à quoi servent les vues, et...

    Je ne sais pas ce qu'il faut écrire dans le webconfig, tu peux me donner le code stp.

  13. #13
    Membre éprouvé

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Billets dans le blog
    1
    Par défaut
    Pour voir si je m'exprime correctement, dis moi ce que tu as compris de ce que je demandais stp.

    Merci

  14. #14
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    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
    <?xml version="1.0"?>
     
    <configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
      <appSettings>
      </appSettings>
      <connectionStrings>
        <clear/>
        <add name="LocalSqlServer" connectionString="Data Source=TONSERVEUR;Initial Catalog=fsih;Persist Security Info=True;User ID=YYYYYYY;Password=XXXXXXXX" providerName="System.Data.SqlClient"/>
      </connectionStrings>
      <system.web>
        <!--<sessionState mode="StateServer" stateConnectionString="tcpip:localhost:42424" />-->
        <globalization culture="fr-CH" uiCulture="fr" />
        <trace enabled="true"/>
        <authorization>
          <deny users="?"/>
        </authorization>
     
        <profile enabled="true" defaultProvider="MyProvider">
          <providers>
            <add name="MyProvider" type="System.Web.Profile.SqlProfileProvider,System.Web,Version=2.0.0.0,Culture=neutral,publicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer"/>
          </providers>
          <properties>
            <add name="DefaultLanguage" type="System.String"/>
          </properties>
        </profile>
        <roleManager enabled="true" />
        <authentication mode="Forms">
          <forms name=".ASPXFORMSAUTH" loginUrl="Default.aspx"/>
        </authentication>
     
        <!--Configuration du Gestionaire d'utilisateurs-->
        <membership userIsOnlineTimeWindow="10">
          <providers>
            <clear />
            <add connectionStringName="LocalSqlServer" applicationName="/"
             enablePasswordRetrieval="false" minRequiredPasswordLength="2"
             minRequiredNonalphanumericCharacters="0" enablePasswordReset="true"
             requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
             passwordFormat="Hashed" name="AspNetSqlMembershipProvider" 
              type="System.Web.Security.SqlMembershipProvider,System.Web,Version=2.0.0.0,Culture=neutral,&#xA; PublicKeyToken=b03f5f7f11d50a3a" />
          </providers>
        </membership>
     
        <customErrors mode="Off"/>
        <compilation debug="true" defaultLanguage="c#">
        </compilation>
      </system.web>
    </configuration>

    Voilà un exemple

  15. #15
    Membre éprouvé

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Billets dans le blog
    1
    Par défaut
    C'est presque ça, sauf que là tu leurs demande de se connecter...

    alors que moi, je veux faire une identification cachée...

  16. #16
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    si tu veux faire une connexion "transparente" tu dois utiliser l'authentification Windows.

    A ma connaissance tu n'as pas d'autres solutions

  17. #17
    Membre éprouvé

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Billets dans le blog
    1
    Par défaut
    D'accord, mais est-ce qu'il fera une identification?
    C'est ça mon probleme!

    de plus, lors de l'utilisation de cette méthode, le nom de la personne authentifiée est : nomdedomaine\nomd'utilisateur

    Alors que dans ma base de donnée, j'ai juste le nom d'utilisateur...

    c'est pour ça que j'essayais de le faire moi-même.

  18. #18
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    Wé mais tu dois gerer la sécurité au niveau de ta base de données... dans SQL Server tu peux dire quel compte peut faire quoi...


    ou alors tu prends que la partie de ta chaine qui représente le nom d'utilsiateur

  19. #19
    Membre éprouvé

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Billets dans le blog
    1
    Par défaut
    je ne comprend pas pourquoi tu dis ça. A quoi as-tu pensé pour en venir là?
    De plus, je pense qu'il est possible d'authentifier par le code avec la classe:

    system.securité ou un truc dans ce genre.

  20. #20
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    J'ai jamais tenté de faire ce que tu veux.. mais suis curieux de voir ce que ça donne...

Discussions similaires

  1. [SYBASE] A titre perso !
    Par Zeo_BO dans le forum Sybase
    Réponses: 13
    Dernier message: 10/04/2003, 12h32
  2. [VB6] Afficher le ToolTipText d'un controle perso
    Par Ricou13 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 14/12/2002, 15h52
  3. identification lettre (pb accent)
    Par scorbo dans le forum C
    Réponses: 5
    Dernier message: 14/12/2002, 02h59
  4. Réponses: 4
    Dernier message: 07/12/2002, 15h24
  5. D6 Perso et Gen d'état
    Par diam's dans le forum Autres outils décisionnels
    Réponses: 6
    Dernier message: 02/12/2002, 17h58

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