2017-02-24 2 views
-1

Comment est-il possible de valider si un utilisateur est authentifié lors d'une requête ajax?MVC C# vérifier si l'utilisateur est authentifié sur les requêtes ajax

Jusqu'à présent, j'ai utilisé un JSonResult avec AllowAnonymous, mais maintenant je veux valider si l'utilisateur est authentifié car j'aurai besoin des données de l'utilisateur authentifié pour effectuer certaines actions. Je ne veux pas utiliser les champs cachés dans la vue, car ce n'est pas sécurisé, et je veux le faire en utilisant ajax car je ne veux pas que la page soit rafraîchie. Existe-t-il un moyen de valider l'authentification dans les requêtes ajax? Ou y a-t-il un autre moyen d'y parvenir?

+0

Veuillez donner le code ajax. Parce que si vous voulez naviguer la page de connexion à la maison n'est pas possible par un appel ajax. –

+0

ne peut pas aider, sauf si vous partagez le code. – Venky

+0

Je n'ai pas encore de code, je planifie une application et je dois résoudre ce problème. Imaginez que vous développiez un réseau social. Vous avez des photos et vous voulez avoir un bouton "J'aime". Vous voulez que ce bouton perfrom un poste ajax. Du côté serveur, j'ai besoin de stocker le LIKE dans la base de données, et je veux assigner un ID utilisateur à ce LIKE, donc j'ai besoin de savoir si l'utilisateur est authentifié et obtenir son ID. Est-ce possible avec ajax? – Hahn86

Répondre

2

Je ne sais pas si je vous ai bien compris, mais en vous méthode du contrôleur où vous revenez JsonResult vous pouvez vérifier soit

Request.IsAuthenticated 

ou

User.Identity.IsAuthenticated 

si cela est vrai, alors vous pouvez faire vos choses supplémentaires pour l'utilisateur connecté.

public JsonResult Index() 
{ 
    if(Request.IsAuthenticated) 
    { 
     //Do actions for logged in user 
    } 
    else{ 

    } 
} 
+0

Lorsque vous faites une requête ajax via jquery, l'avez-vous? – Hahn86

+0

si ce n'est pas une demande de domaine croisé alors oui. jquery Ajax envoie un cookie pour le même domaine. – SSA

+0

Super, je ne savais pas à ce sujet. Merci! – Hahn86