Redirection de connexion non autorisée en ASP.NET de Base
Dans le précédent ASP.NET MVC, il y avait une option pour rediriger vers la de login d'action, si l'utilisateur n'est pas authentifié.
J'ai besoin de la même chose avec ASP.NET de Base, j'ai donc:
- créé un ASP.NET projet Core à partir du modèle Visual Studio
- ajouté
[Authorize]
à certains arbitraire de l'action - ouvert la vue correspondante dans mon navigateur
Je n'attends pas une redirection, car je n'ai pas configuré. MAIS, il redirige automatiquement à la connexion à l'action!
Où/comment est cette option?
Le cadre est en mesure de trouver le login de l'action, car il utilise une convention de configuration.
Si cela n'est pas documenté, c'est une forme de magie. En fait, même si c'est documenté. Il y a trop de ça aujourd'hui, en particulier dans ASP.NET.
Si cela n'est pas documenté, c'est une forme de magie. En fait, même si c'est documenté. Il y a trop de ça aujourd'hui, en particulier dans ASP.NET.
OriginalL'auteur grokky | 2016-10-24
Vous devez vous connecter pour publier un commentaire.
Vous pouvez configurer le chemin d'accès à l'aide
CookieAuthenticationOptions
classe.Quelque chose comme ça.
Aussi, je ne veux pas seulement pour contrôler ce paramètre, j'ai envie de comprendre d'où/comment ça se passe. Je ne comprends pas comment il sait pour trouver mon login vue. C'est ce que je veux comprendre.
S'il vous plaît examiner ce code - github.com/aspnet/Security/blob/dev/src/...
OriginalL'auteur Anuraj
Avec l'actuel réseau de base version (2.1.0), ce qui a changé, maintenant, utiliser pouvez utiliser les extensions:
ou
Vous pouvez en savoir plus sur la migration à 2.0 dans cet article.
OriginalL'auteur animalito maquina
Pour quelqu'un qui est intéressé, il peut également être fait avec le AddIdentity fournisseur de services.
Et comme expliqué ici: https://stackoverflow.com/a/41643105/5784635
J'ai tenté en avril 2017 et
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.1.0"
n'est pas redirigé, j'ai dû utiliser le1.0.1
versionAnton / @Wouter, vous êtes en utilisant .NETCore?
À l'aide de .net de base 1.1
OriginalL'auteur Anton Toshik
Vous n'avez pas besoin d'ajouter l'authentification par cookie. Garder au SEC et d'initialiser le construit dans le formulaire d'autorisation avec tout ce que vous voulez.
Étape 1: Faire prototypée .NET de Base 2.1 application web avec Autorisation Individuelle:
dotnet new mvc -o YourAppName --auth Individual
Étape 2: disons que votre protégé vue a été dans un contrôleur appelé ClockinController, vous pouvez désigner la redirection de la sorte:
Vous pouvez également appeler une fonction JavaScript si vous devez ajouter de la logique conditionnelle pour la returnUrl.
OriginalL'auteur Ryan Dines