دسته بندی ها
15:04 1401/02/05

نمایش اطلاعات کاربر شامل Email و UserName در View در Asp net Core

مشخصات سوال کننده :
کاربر : pedram_khan     امتیاز کاربر : 277     رتبه کاربر : 6
دسته بندی : Asp.net Core

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 2969
پاسخ دهنده : fateme 19:19 1401/02/05

نمایش اطلاعات کاربر لاگین شده در Identity در Asp.net Core

نمایش اطلاعات کاربر در View در Core

شما به 2 طریق می تونید اطلاعات کاربری که لاگین شده رو دریافت و نمایش بدید. چون سوال شما در مورد نمایش اطلاعات کاربر لاگین شده در View هست کدهای مربوط به View براتون مینویسم ولی برای دریافت اطلاعات کاربر لاگین شده در کنترلر هم کدها یکسان هست.

 

دریافت اطلاعات کاربر لاگین شده توسط Role Base Authentication

روش اول در Identity برای کار با کاربر Role Base Identity هست. به مثال زیر دقت کنید :

<h1>
   @User.Identity.Name
</h1>

توسط دستور بالا میتونید UserName کاربر رو دریافت و در View نمایش بدید.

همچنین اگر قصد داشته باشید Id کاربر لاگین شده رو دریافت و نمایش بدید می تونید از کلاس UserManager که از کلاسهای خود آیدنتیتی هست استفاده کنید. به مثال زیر توجه کنید.

 

@using  Microsoft.AspNetCore.Identity
@inject Microsoft.AspNetCore.Http.IHttpContextAccessor _httpContext
@inject UserManager<ApplicationUsers> _userManager

@{
    var getUserId = _userManager.GetUserId(_httpContext.HttpContext.User);
}

<div>
 ...
</div>

دریافت و نمایش اطلاعات کاربر لاگین شده توسط Claim Base Authentication 

روش بعدی برای دریافت و نمایش اطلاعات کاربر لاگین شده در View استفاده از Claim هست. به مثال زیر دقت کنید :

@using System.Security.Claims

<h2>
    @User.FindFirstValue(ClaimTypes.NameIdentifier)
    @User.FindFirstValue(ClaimTypes.Email)
    @User.FindFirstValue(ClaimTypes.Name)
</h2>

همون طور که می بینید توسط دستورات Claim هم می تونید به بسیاری از اطلاعات کاربر لاگین شده به راحتی دسترسی داشته باشید.

ویرایش شده در دوشنبه 5 اردیبهشت 1401 ساعت 19:20:05
به این پاسخ امتیاز بدهید    0
امتیاز: 1617 رتبه: 2
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود