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

Silverlight Discussion :

Empêcher l'accès à une page d'une Business application


Sujet :

Silverlight

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 876
    Points : 491
    Points
    491
    Par défaut Empêcher l'accès à une page d'une Business application
    Bonjour,

    J'ai une business application Silverlight pour laquelle je demande un login et un mot de passe Aspnet.

    Si l'utilisateur est correctement conecté, je rend visible les "HyperlinkButton" sur ma page MainPage.xaml. Par exemple je rend visible un bouton "Contacts" sur lequel il peut cliquer pour aller vers la page "contacts".

    Le problème c'est que si l'utilisateur tape dans le navigateur directement, et donc avant même d'avoir du rentrer son login: la page s'ouvre !

    Je mets alors dans ma page "Contacts"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     If Not WebContext.Current.User.IsAuthenticated Then
                Me.NavigationService.Navigate(New Uri("/About", UriKind.Relative))
                    End If
    mais on apperçoit encore pendant quelques millisecondes ma page "Contacts" avant que l'utilisateur ne soit réorienté vers la page "About".

    N'y a t'il pas un moyen plus efficace ?

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2009
    Messages
    2 030
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2009
    Messages : 2 030
    Points : 5 476
    Points
    5 476
    Par défaut
    avec un else a la fin du if, donc un else qui contiendra la description de la page, comment peut il y avoir un apercu?

  3. #3
    Membre expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 3 958
    Points
    3 958
    Par défaut
    N'y aurait-il pas moyen d'utiliser la propriété "JournalOwnership" de la Frame gérant la navigation en lui assignant la valeur "OwnsJournal" ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 876
    Points : 491
    Points
    491
    Par défaut
    Citation Envoyé par micka132 Voir le message
    avec un else a la fin du if, donc un else qui contiendra la description de la page, comment peut il y avoir un apercu?
    J'ai manqué de précision dans mon post initial, mon code est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Protected Overrides Sub OnNavigatedTo(ByVal e As System.Windows.Navigation.NavigationEventArgs)
            If Not WebContext.Current.User.IsAuthenticated Then
                Me.NavigationService.Navigate(New Uri("/About", UriKind.Relative))
                 End If
        End Sub
    C'est dans l'événement OnNavigatedTo que j'ai mis mon test d'autentification. Et visiblement, la page xaml commence à s'afficher avant que le OnNavigatedTo ne soit exécuté.

    La description de ma page n'est pas dans mon else mais bien dans mon code Xaml.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 876
    Points : 491
    Points
    491
    Par défaut
    Citation Envoyé par seriousme Voir le message
    N'y aurait-il pas moyen d'utiliser la propriété "JournalOwnership" de la Frame gérant la navigation en lui assignant la valeur "OwnsJournal" ?
    Pourrais-tu expliquer un peu plus, car la, je suis dans le brouillard.

  6. #6
    Membre expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 3 958
    Points
    3 958
    Par défaut
    Quand on implémente un système de navigation from-scratch on utilise une Frame qui va rendre les différentes pages.
    Cette frame gère notamment l'historique de navigation et par défaut l'intègre à celui du navigateur, d'où ce type de comportement.

    Afin d'éviter cette intégration il est possible d'utiliser la propriété Frame.JournalOwnership en indiquant le flag OwnsJournal.

    Donc il faudrait trouver la Frame qui gère la navigation, sans doute dans un fichier xaml, afin de la paramétrer.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 876
    Points : 491
    Points
    491
    Par défaut
    Merci beaucoup pour ces explications, je teste demain et je mets à jour le post.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 876
    Points : 491
    Points
    491
    Par défaut
    Mon frame est dans ma MainPage. J'y ai ajouté le code suivant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     <navigation:Frame x:Name="ContentFrame" Style="{StaticResource ContentFrameStyle}" 
                                  JournalOwnership="OwnsJournal"
    Merci.

  9. #9
    Membre actif Avatar de chris81
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 626
    Points : 298
    Points
    298
    Par défaut
    Bonjour,
    je pense que cela va t'interesser

    http://blogs.msdn.com/b/kylemc/archi...commentmessage

    En ce qui concerne ton authentification, Utilises tu ta propre table d'utilisateurs ou utilises tu ce qui est mis en place dans les business application ?

    ++

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 876
    Points : 491
    Points
    491
    Par défaut
    Citation Envoyé par chris81 Voir le message
    Bonjour,
    je pense que cela va t'interesser

    http://blogs.msdn.com/b/kylemc/archi...commentmessage

    En ce qui concerne ton authentification, Utilises tu ta propre table d'utilisateurs ou utilises tu ce qui est mis en place dans les business application ?

    ++
    En tous cas que ça m'intéresse !

    Le "Navigation Mode" répond parfaitement à mon besoin. J'en ai profité pour aller voir les liens à la fin de l'article qui parles de la sécurisation des webservices, c'est super intéressant.

    Pour répondre à ta question, j'utilise pour l'authentification les roles, membership, users d'ASP mais stockées dans ma base de donnée sqlServer


    Merci

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 12/04/2006, 16h46
  2. [debutant]passager une variable d'une page a une autre
    Par Eisy dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 17/03/2006, 11h18
  3. [XHTML] [débutant] Ouvrir une page dans une page xhtml
    Par wikers dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 14/02/2006, 16h20
  4. faire passer une variable d'une fct js à une page php
    Par harlock59 dans le forum Langage
    Réponses: 1
    Dernier message: 25/11/2005, 14h41
  5. Garder une dataset d'une page a une autre
    Par amika dans le forum Langage
    Réponses: 13
    Dernier message: 15/11/2005, 23h13

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