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

Développement Web avec .NET Discussion :

ASP.NET MVC passage de valeur par session échoue?


Sujet :

Développement Web avec .NET

  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2003
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 90
    Par défaut ASP.NET MVC passage de valeur par session échoue?
    J'ai un controller dans lequel j'initialise une variable de session "token"


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public ActionResult Anonymous()
            {
                HttpContext.GetOwinContext().Set<string>("token", "toto");
                Session["token"] = "testabc";
                return View();
            }
    Puis j'ai un "OAuthBearerAuthenticationProvider" dans lequel j'essai de lire la même variable session:

    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
     
    public class OAuthBearerAuthenticationProvider : IOAuthBearerAuthenticationProvider
        {
            public Task ApplyChallenge(OAuthChallengeContext context)
            {
                context.Response.Redirect("/Account/Login");
                return Task.FromResult<object>(null);
            }
     
            public Task RequestToken(OAuthRequestTokenContext context)
            {
                string token = string.Empty;
     
                //Marche pas!!
                token = context.OwinContext.Get<string>("token");
     
                //Marche pas non plus!!
                if (HttpContext.Current != null && HttpContext.Current.Session != null)
                {
                    token = HttpContext.Current.Session["token"] as string;
                }                    
     
     
                if (!string.IsNullOrEmpty(token))
                {
                    context.Token = token;
                }
                return Task.FromResult<object>(null);
            }
     
            public Task ValidateIdentity(OAuthValidateIdentityContext context)
            {
                return Task.FromResult<object>(null);
            }
        }
    Même après que la méthode du controller ai été appelé, je n'arrive pas à lire le contenu de la variable de session (toujours null).
    Le passage par "context.OwinContext.Get" ne fonctionne as non plus.
    Pourquoi?
    Comment passer mon token entre mon controller et OAuthBearerAuthenticationProvider ?

    Voici ma configuration:
    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
     
     public void Configuration(IAppBuilder app)
            {
                ConfigureAuth(app);
            }
     
     public partial class Startup
        {
            // Pour plus d’informations sur la configuration de l’authentification, rendez-vous sur http://go.microsoft.com/fwlink/?LinkId=301864
            public void ConfigureAuth(IAppBuilder app)
            {
     
                //// Read settings
                var issuer = WebConfigurationManager.AppSettings["TokenIssuer"];
                var audience = WebConfigurationManager.AppSettings["TokenAudience"];
                var key = WebConfigurationManager.AppSettings["TokenSigningKey"];
     
                string token = string.Empty;
                // Add OAuth authentication
                var options = new JwtBearerAuthenticationOptions
                {
                    AllowedAudiences = new[] { audience },
                    IssuerSecurityTokenProviders = new[] { new SymmetricKeyIssuerSecurityTokenProvider(issuer, key) },              
                    Provider=  new OAuthBearerAuthenticationProvider()
                    };
                app.UseJwtBearerAuthentication(options);
     
            }
        }
    Merci pour votre aide.

  2. #2
    Membre confirmé Avatar de linke
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2012
    Messages : 119
    Par défaut
    après l’appelle de la méthode Anonymous, tu peut récupérer la valeur de la session dans une autre méthode dans le méme controler?.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (string)Session["name"]

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2003
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 90
    Par défaut
    Merci de ta réponse , même si elle ne répond pas à ma question
    Je sais très bien comment récupérer le contenu de cette variable de session depuis un autre contrôler, mais ce n'est pas ce que je veux faire.
    Je veux initialiser cette variable dans un contrôler et je veux récupérer son contenu dans le provider (qui n'est pas du tous un contrôler)

Discussions similaires

  1. [Cours] Introduction à ASP.NET MVC par l'exemple
    Par Community Management dans le forum ASP.NET MVC
    Réponses: 8
    Dernier message: 17/02/2017, 09h33
  2. Réponses: 10
    Dernier message: 03/12/2009, 21h45

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