Maison > développement back-end > C++ > Comment accéder à l'utilisateur actuel dans les contrôleurs ASP.NET Core ?

Comment accéder à l'utilisateur actuel dans les contrôleurs ASP.NET Core ?

Susan Sarandon
Libérer: 2025-01-13 11:42:44
original
134 Les gens l'ont consulté

How to Access the Current User in ASP.NET Core Controllers?

Récupération de l'utilisateur actuel dans les contrôleurs ASP.NET Core

L'accès aux informations utilisateur dans les contrôleurs ASP.NET Core nécessite une attention particulière pour éviter les exceptions de référence nulle. L'utilisation directe de HttpContext dans le constructeur d'un contrôleur est sujette à des erreurs.

Accès aux données utilisateur dans une méthode d'action

Une méthode fiable consiste à récupérer les détails de l'utilisateur dans une méthode d'action et à les stocker dans ViewData. Cet exemple suppose qu'un cookie utilisateur existe dans la requête :

<code class="language-csharp">public ActionResult Index()
{
    string userId = HttpContext.User.FindFirst(ClaimTypes.NameIdentifier)?.Value;
    ViewData["UserId"] = userId;
    return View();
}</code>
Copier après la connexion

Ensuite, accédez à l'ID utilisateur via ViewData["UserId"] dans n'importe quelle vue associée à l'action Index. L'opérateur conditionnel nul (?.) empêche les exceptions si FindFirst renvoie null.

Accès aux données utilisateur dans le constructeur du contrôleur

Pour un accès basé sur le constructeur, utilisez l'interface IHttpContextAccessor :

<code class="language-csharp">public Controller(IHttpContextAccessor httpContextAccessor)
{
    string userId = httpContextAccessor.HttpContext?.User.FindFirst(ClaimTypes.NameIdentifier)?.Value;
    // ... further processing of userId ...
}</code>
Copier après la connexion

Assurez-vous que IHttpContextAccessor est enregistré dans la configuration de votre service :

<code class="language-csharp">public void ConfigureServices(IServiceCollection services)
{
    services.AddHttpContextAccessor();
}</code>
Copier après la connexion

Ces techniques fournissent des méthodes robustes pour accéder aux données utilisateur actuelles dans ASP.NET Core, minimisant ainsi le risque d'erreurs d'exécution. N'oubliez pas de gérer les valeurs nulles potentielles de manière appropriée à l'aide d'opérateurs conditionnels nuls.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal