مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

arash_saba

عضویت از 1394/06/16

login ورود کاربر در asp core

  • سه شنبه 19 آذر 1398
  • 09:26
تشکر میکنم

سلام به همه دوستان

در ASP Core از فناوری Claim برای نگهداری اطلاعات کاربر استفاده می کنم
پروژه رو در core 2.2 ساخته بودم کار می کرد
در زخقث 3.1 که فقط ورژن تغییر کرد با دستورات لاگین اطلاعات کاربر ذخیره نمیشه و در LoginPartial کاربر null هست و Div سبد خرید و نام کاربری نمایش داده نمی شود

لطفا رانمایی کنین
با تشکر

کد ها به صورت زیر می باشد

 if (userName.Length == 0)
                        {
                            userName = login.PhoneNumber;
                        }
                        var claims = new List<Claim>()
                             {
                                new Claim(ClaimTypes.Name,userName),
                                new Claim(ClaimTypes.NameIdentifier,mdl.Id.ToString()),
                                new Claim(ClaimTypes.IsPersistent,login.IsRemmember.ToString())
                               };

                        var identity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme);
                        var pricipal = new ClaimsPrincipal(identity);

                        var properties = new AuthenticationProperties()
                        {
                            IsPersistent = login.IsRemmember
                        };

                        HttpContext.SignInAsync(pricipal, properties);
                        if (Url.IsLocalUrl(returnUrl))
                        {
                            return Redirect(returnUrl);
                        }

                        return Redirect("/");

و کد View به صورت زیر

@using System.Security.Claims
@if (User.Identity.IsAuthenticated)
{
    Guid userId = Guid.Parse(((ClaimsIdentity)User.Identity).FindFirst(ClaimTypes.NameIdentifier).Value.ToString());

    <ul>
        <li>
            <a asp-action="Profile" asp-controller="Home" asp-area="UserPanel"><span id="UserName"> @User.Identity.Name </span></a> 

            <a class="Shake" asp-action="Orders" asp-controller="Order">
                <span id="Bascket">   سبد خرید (  0 ) </span>
            </a> 
            <a class="Shake" asp-action="LogOff" asp-controller="Account" asp-area=""><span> خروج</span></a>
        </li>
    </ul>
}
else
{
    <ul>
        <li>
            <a class="Shake" asp-action="Login" asp-controller="Account">  <span> <img class="   Image-Finger " src="~/Images/login.png" /> ورود</span> </a>
            <a class="Shake" asp-action="Register" asp-controller="Account">  <span> <img class="   Image-Finger " src="~/Images/login.png" /> ثبت نام </span> </a>
        </li>
    </ul>
}

پاسخ های این پرسش

تعداد پاسخ ها : 1 پاسخ
کاربر سایت

starter amir hossein

عضویت از 1398/05/08

  • دوشنبه 25 آذر 1398
  • 10:05

با سلام خدمت دوست عزیز

این اموزش را ببینید 

https://toplearn.com/courses/1112/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-memorycache-%D8%AF%D8%B1-asp-netcore

به احتمال زیاد توضیح داده اگه نداده بود توی پرسش سوال همون صفحه سوالت رو بپرس جواب میدن

موفق باشید

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

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

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)