2010-07-13 10 views
0

J'ai une application MVC qui est fondamentalement une page avec un tas d'appels AJAX qui analysent JSON retourné, puis en utilisant jQuery va peupler la page. Ainsi, par exemple, si j'appelle /API/Users/List, il retournera du JSON puis je l'analyserai et créer dynamiquement un élément li pour chaque utilisateur. Ensuite, je mets un lien edit à côté de chaque nom d'utilisateur et le raccorde pour faire les modifications nécessaires (jQuery avec un autre appel AJAX). Ce que je suis curieux de savoir comment je vais montrer/cacher le lien edit basé sur le rôle. J'ai une vue fortement typée et peut peupler des champs cachés avec des informations d'utilisateur (<input type=hidden name=UserID value=jsmith /> <input type=hidden name=Role value=Admin />), et bien sûr, peut toujours valider l'utilisateur dans le contrôleur que les messages d'action edit à, mais, je voudrais savoir s'il y a un moyen à SUR LE CLIENT vérifier que le champ caché n'a pas été falsifié de sorte que quelqu'un ne sauvegarde pas le fichier hors ligne, changer le champ caché pour Role et maintenant ils peuvent voir les liens edit quand ils ne sont pas censés le faire.Vérifier les valeurs ASP.NET MVC (rôles) du client (jQuery)

Dans cet exemple artificiel, pas de mal à voir les liens edit s'ils ne peuvent rien faire, mais il y a des appels où je passe le rôle à un appel d'API et il renvoie des données marquées comme " private "dans la base de données qui ne devrait pas être vu sans les privilèges corrects. Donc, en gros, la question devient: «Y a-t-il un moyen d'échanger des données entre la page ASPX et le JavaScript qui appelle ensuite l'API sans qu'elle soit simplement stockée dans un champ caché qui pourrait être falsifié?

Merci,

+0

la question trop longtemps. vous voulez probablement le raccourcir et le garder au point. – ravi

Répondre

0

Vous ne devriez pas passer le rôle en tant que paramètre d'un appel ajax.

La méthode d'action elle-même doit déterminer le rôle de l'utilisateur.

+0

Bon point. Je suppose que je devrais écrire l'API de sorte que certains ID utilisateur ou jeton d'authentification soient envoyés avec chaque requête. Appréciez la réponse simple. – Jorin

+0

Je pense que vous n'avez pas besoin de l'envoyer. La requête ajax doit contenir l'authentification - cookie par défaut. Vous pouvez vérifier cela dans firebug sous réseau. –

Questions connexes