7 votes

Comment utiliser au mieux l'attribut [Authorize] avec Ajax et les vues partielles ?

J'étais sur le point d'utiliser [Authorize] sur les actions qui renvoient des vues partielles par Ajax ; mais je n'obtiens pas le comportement que je souhaiterais (bien que ce soit le comportement auquel je m'attendais).

Cela semble un peu long, mais existe-t-il un moyen d'étendre cet attribut pour "sortir" d'un appel AJAX et rediriger la page entière vers l'écran de connexion (par opposition au renvoi de l'écran de connexion à l'emplacement que j'ai défini dans UpdateTargetId) ?

Je pense que j'ai une idée de la façon dont je ferais cela sur chacun des appels Ajax spécifiques, mais si je pouvais centraliser cela d'une façon ou d'une autre, cela économiserait beaucoup de code...

7voto

Craig Stuntz Points 95965

AuthorizeAttribute ne le fera pas pour vous, mais vous pouvez centraliser votre code. Créez un nouvel attribut qui renvoie le code d'état http 401 (non autorisé) lorsqu'aucun utilisateur n'est actuellement connecté. Dans un fichier JavaScript référencé par votre site.master, gérez l'événement jQuery $.ajaxError. Recherchez le code d'état http 401 dans la réponse et redirigez vers votre page de connexion via JavaScript. Maintenant, tout appel Ajax que vous faites via jQuery aboutira ici si l'utilisateur actuel n'est pas autorisé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X