Wie kann man in Asp.Net Cord die aktuelle ID des Users
ermitten.
Wenn man die Asp.Net Authentification aktiviert hat,
dann werden alle registrierten Anwender in der Datei AspNetUsers verwaltet.
Jeder User überträgt im HttpContext der URL eine GUID
Nummer, welche die eigene verschlüsselte ID aufweist.
Mit einer allgemeinen Erweiterung kann eine einfache
getUserId-Methode erstellt werden.
string
Id_of_AspNetUser = Common.ExtensionMethods.getUserId(this.User);
|
Anwendung im c# code des Controllers.
Erweiterung:
Dazu muss man nur eine zusätzliche Datei mit einer
Klasse erstellen:
Am einfachsten in _classes eine Datei erstellen und mit
dem folgenden c# Code füllen.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
//< Using >
using System.Security.Claims;
//</ Using >
namespace IWois_Core.Common
{
public static class ExtensionMethods
{
//-------------<
Class: ExtensionMethods >-------------
public static string getUserId(this ClaimsPrincipal user)
{
//------------< getUserId(User)
>------------
//*returns the current UserID
if (!user.Identity.IsAuthenticated)
return null;
ClaimsPrincipal currentUser =
user;
//< output >
return
currentUser.FindFirst(ClaimTypes.NameIdentifier).Value;
//</ output >
//------------</ getUserId(User)
>------------
}
//-------------</
Class: ExtensionMethods >-------------
}
}
|