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 :

Avec ou sans authentification


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de Pelote2012
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 925
    Billets dans le blog
    2
    Par défaut Avec ou sans authentification
    Bonjour,

    Je me melle les pinceaux, donc je viens demander votre aide.
    J'ai un site. Selon l'url de connexion je dois décider qui doit passer par la page de loggin et qui peux passer directement au site.

    Mon web.config
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <authentication mode="None">
     
        </authentication>
          <authorization>
              <allow users="?"/>
          </authorization>

    Ma Master
    Code vb : 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
     
     Public LaSociete As Societe
     
        Protected Sub Master_MasterPage_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
            Dim cssLink As HtmlLink = New HtmlLink()
            cssLink.ID = "lnkCss"
            cssLink.Href = "~/CSS/ConfMob.css"
            cssLink.Attributes.Add("rel", "stylesheet")
            cssLink.Attributes.Add("type", "text/css")
            Page.Header.Controls.Add(cssLink)
     
            If Session(SESSION_SOCIETE) IsNot Nothing Then
                LaSociete = CType(Session(SESSION_SOCIETE), Societe)
            Else
                LaSociete = HelperSociete.URLEstConnu(HelperURL.GetRootURL(True), New CatalogueMobilierEntities)
                If LaSociete IsNot Nothing AndAlso LaSociete.SsLogin Then 'passe directement
                    Dim LaPers As New Personne
                    LaPers.Nom = LaSociete.RaisonSocial
                    LaPers.Societe = LaSociete
                    LaPers.IdSoc = LaSociete.IdSoc
                    Session(SESSION_USER) = LaPers
                    System.Web.Security.FormsAuthentication.RedirectFromLoginPage(LaSociete.RaisonSocial, False)
                    'If HelperURL.GetFile(False) = "Login.aspx" Then Response.Redirect("~/Default.aspx")
                ElseIf Not HttpContext.Current.User.Identity.IsAuthenticated And HelperURL.GetFile(False) <> "Login.aspx" Then 'Doit s'authentifier
                    System.Web.Security.FormsAuthentication.SignOut()
                    Session.Abandon()
                    Response.Redirect("~/Login.aspx")
                End If
            End If
        End Sub
     
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
     
            If LaSociete Is Nothing AndAlso HelperURL.GetFile(False) <> "Erreur.aspx" Then
                Dim Ex As New Exception("Site non reconnu")
                HelperJournal.WriteEntry("Site non reconnu :" & HelperURL.GetRootURL(True), Nothing, Diagnostics.TraceEventType.Warning)
                Throw Ex
            Else
                If HelperString.ContientInfo(LaSociete.Logo) Then
                    LogoPrincipal.ImageUrl = "~" & PATH_IMG_SOCIETE & LaSociete.IdSoc.ToString & "/" & LaSociete.Logo
                    LogoPrincipal.Visible = True
                End If
     
            End If
     
        End Sub

    Ma page default.aspx
    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Partial Class _Default
        Inherits System.Web.UI.Page
     
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Page.Title = "Accueil"
        End Sub
     
    End Class

    Dans le cas où je dois aller directement, j'ai une boucle infinie. Je passe toujours dans Master et default.aspx. Si je dois passer par la login, ça marche

    Quelqu'un peut me dire pourquoi?

  2. #2
    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
    salut,

    si je comprends ton problème, tu essaie d'avoir une partie du site publique une partie avec authentification?

    voilà un lien qui devrait te dépanner dans ce que tu veux faire

    http://weblogs.asp.net/gurusarkar/ar...eb-config.aspx

  3. #3
    Membre éprouvé
    Avatar de Pelote2012
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 925
    Billets dans le blog
    2
    Par défaut
    En fait c'est le même site (un catalogue)
    Mais une partie est publique, l'autre dépend du client qui se connecte.
    Et je n'ai pas de rôle particulier ou de compte Windows à exploiter car les clients sont externes à ma société. Je n'ai qu'une base avec les URL et les noms des personnes autorisées

  4. #4
    Membre éprouvé
    Avatar de Pelote2012
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2008
    Messages
    925
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 925
    Billets dans le blog
    2
    Par défaut
    Petit endouille que je suis

    Voicu la correction de mon master_init
    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
    Protected Sub Master_MasterPage_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
            Dim cssLink As HtmlLink = New HtmlLink()
            cssLink.ID = "lnkCss"
            cssLink.Href = "~/CSS/ConfMob.css"
            cssLink.Attributes.Add("rel", "stylesheet")
            cssLink.Attributes.Add("type", "text/css")
            Page.Header.Controls.Add(cssLink)
     
            If Session(SESSION_SOCIETE) IsNot Nothing Then
                LaSociete = CType(Session(SESSION_SOCIETE), Societe)
            Else
                LaSociete = HelperSociete.URLEstConnu(HelperURL.GetRootURL(True), New CatalogueMobilierEntities)
                If LaSociete IsNot Nothing AndAlso LaSociete.SsLogin Then
                    Session(SESSION_SOCIETE) = LaSociete
                    Dim LaPers As New Personne
                    LaPers.Nom = LaSociete.RaisonSocial
                    LaPers.Societe = LaSociete
                    LaPers.IdSoc = LaSociete.IdSoc
                    Session(SESSION_USER) = LaPers
                    System.Web.Security.FormsAuthentication.RedirectFromLoginPage(LaSociete.RaisonSocial, False)
                    If HelperURL.GetFile(False) = "Login.aspx" Then Response.Redirect("~/Default.aspx")
                ElseIf Not HttpContext.Current.User.Identity.IsAuthenticated And HelperURL.GetFile(False) <> "Login.aspx" Then
                    System.Web.Security.FormsAuthentication.SignOut()
                    Session.Abandon()
                    Response.Redirect("~/Login.aspx")
                End If
            End If
        End Sub
    forcément j'avais oublié d'enregistrer en session mon param (Session(SESSION_SOCIETE) = LaSociete), donc quand il revenait, pas de param donc rebelote ...

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

Discussions similaires

  1. Lire mail avec JavaMail sans authentification
    Par kmdkaci dans le forum Collection et Stream
    Réponses: 17
    Dernier message: 21/01/2009, 16h15
  2. [CSS][HTML] Mise en page : Avec ou sans tableaux ?
    Par arno2000 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 09/08/2005, 02h34
  3. Réponses: 7
    Dernier message: 23/07/2005, 12h50
  4. Saut avec ou sans condition
    Par Frenchghost dans le forum Assembleur
    Réponses: 16
    Dernier message: 03/01/2005, 13h28
  5. [C#] [EXCEL] Travailler avec EXCEL sans ouvrir le logiciel
    Par Fabsou dans le forum Windows Forms
    Réponses: 3
    Dernier message: 16/07/2004, 10h29

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