• 1401/12/08

user.identity.isauthenticated همیشه false :

سلام

بعد از احراز حویت  موفق مقدار user.identity.isauthenticated همیشه False برگشت داده می شود

مشکل از کجاست و چگونه باید آن را برطرف کرد.

  • 1401/12/09
  • ساعت 23:19

سلام. با اجازه استاد.

حتما در بخش program.cs دو عبارت زیر باشه تا مشکل شما برطرف بشه. منم مشکل مشابه شما رو داشتم.

app.UseAuthentication();
app.UseAuthorization();

  • 1401/12/10
  • ساعت 07:57

سلام دوست من وقتتون بخیر

موردی که دوستمون گفتن رو بررسی کنید حتما


  • 1401/12/12
  • ساعت 20:55

سلام

این دو مورد از ابتدا اضافه شده بود و در ابتدا به درستی کار می کرد ولی بعد از مدتی با مشکل روبرو شد 

بعد از  جستجو متوجه چند مورد که یکی از  موارد تقدم و تاخر موارد اشاره شده دوستمون هست شدم ولی بعد از برسی همه موارد مشگل همچنان حل نشد.

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
            }
            app.UseStaticFiles();

            app.UseRouting();
            app.UseAuthentication();
            app.UseAuthorization();

            app.UseCors("EnableCors");
           
            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute(
                    name: "default",
                    pattern: "{controller=Home}/{action=Index}/{id?}/{pass?}");
            });
        }

  • 1401/12/15
  • ساعت 19:47

سلام مجدد دوست عزیزم

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

با تشکر از شما


  • 1401/12/15
  • ساعت 20:27

سلام و خسته نباشید

اطلاعات درست  فراخوانی میشه و داخل Claim ذخیره میشه ولی در  Layout موقع کنترل کردن ,User خالی هست.

public IActionResult Login(LoginViewModel value)
        {
            value.Mobile = "0";
            if (!ModelState.IsValid)
            {
                return View(value);
            }
            var curentuser = _usersRepository.GetUserForLogin(value.Email.ToLower(), value.Mobile.ToLower(), value.Password);
            if (curentuser == null)
            {
                ModelState.AddModelError("Email", "اطلاعات درست نیست.");
                return View(value);
            }
            var claims = new List<Claim>
            {
                new Claim(ClaimTypes.NameIdentifier,curentuser.UserId.ToString()),
                new Claim(ClaimTypes.Name, curentuser.Email),
                new Claim("Mobile",curentuser.Mobile)
            };

            var Identity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme);
            var princ = new ClaimsPrincipal(Identity);
            var prop = new AuthenticationProperties
            {
                IsPersistent = value.RememberMe
            };
            HttpContext.SignInAsync(princ, prop);
            var res = User.Identity.IsAuthenticated;
            return Redirect("/");
        }
        

  • 1401/12/18
  • ساعت 14:46

دوست عزیزم لطفا کدهای مربوط به اضافه کردن سرویس هارو  هم برای من  ارسال کنید

با تشکر


  • 1401/12/18
  • ساعت 21:35

سلام مجدد

ممنون از پیگیرتون

        public void ConfigureServices(IServiceCollection services)
        {
            #region DataBase
           
            services.AddControllersWithViews();
            services.AddDbContext<ShopContext>(options =>
            {
                options.UseSqlServer("Data Source=.;Initial Catalog=suorenai_787;Persist Security Info=True;User ID=*******;Password=*********");
            });
            #endregion
            #region IOC
            services.AddScoped<IUsersRepository, UsersRepository>();

            #endregion
            #region Authentication
            services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
                .AddCookie(option =>
                {
                    option.LoginPath = "/Account/Login";
                    option.LogoutPath = "/Account/Logout";
                    option.ExpireTimeSpan = TimeSpan.FromDays(10);
                });
            services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
                .AddJwtBearer(options =>
                {
                    options.TokenValidationParameters = new TokenValidationParameters()
                    {
                        ValidateIssuer=true,
                        ValidateAudience=false,
                        ValidateLifetime=true,
                        ValidateIssuerSigningKey=true,
                        ValidIssuer= "http://192.168.1.150:8082",
                        IssuerSigningKey=new SymmetricSecurityKey(Encoding.UTF8.GetBytes("OurVerifyTopLearn")
                        )
                    };
                });
            services.AddCors(options =>
            {
                options.AddPolicy("EnableCors", builder =>
                {
                    builder/*.AllowAnyOrigin()*/
                    .AllowAnyHeader()
                    .AllowAnyMethod()
                    .AllowCredentials()
                    .Build();

                });
            });
            #endregion
        }


  • 1401/12/21
  • ساعت 11:04

سلام مجدد دوست من وقت بخیر

دوست عزیزم شما jwt داخل پروژه  استفاده میکنید؟ ایا api دارید داخل سایتتون؟


logo-enamadlogo-samandehi