آرمان
آرمان
خواندن ۳ دقیقه·۵ سال پیش

اعمال Authorize بر روی تمام صفحات در dotnetcore 3

برای Authorize کردن تمام صفحات باید در فایل Startup.cs این دو میان افزار اضافه کنیم


app.UseRouting(); app.UseAuthentication(); app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapRazorPages().RequireAuthorization(); });

بعد در بخش ConfigureServices جایی که razorpages اضافه کردم این کد رو بهش اضافه کنیم

services.AddRazorPages().AddRazorPagesOptions(options=> { options.Conventions.AuthorizeFolder(&quot/&quot) .AllowAnonymousToPage(&quot/Account/Login&quot); });

همین کار رو برای mvc و blazor به همین صورت است (نمیدونم ولی امتحان کنید!)

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

این هم یک منبع خوب برای razor page authorization


آموزش تموم شد ولی یادتان باشد که قبلش AddAuthentication هم اضافه کرده باشید !

services.AddAuthentication(options => { options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme; options.DefaultChallengeScheme = CookieAuthenticationDefaults.AuthenticationScheme; options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;}) .AddCookie(options => { options.LoginPath = &quot/Account/Login" options.LogoutPath = &quot/Logout" options.ExpireTimeSpan = TimeSpan.FromMinutes(43200); });


aspnetcore 3razor pagesauthorization conventionsAuthorization
یک برنامه نویس که هرآنچه را که یاد میگیرد در دفترچه یادداشت ویرگولیش یادداشت میکرد(!) حتی یک خط ! تا درصورت نیاز به آن رجوع کند...
شاید از این پست‌ها خوشتان بیاید