دسته بندی ها
10:47 1400/02/19

نحوه کانفیگ Authentication بصورت دستی در Blazor چگونه است؟

مشخصات سوال کننده :
کاربر : AliDesigner     امتیاز کاربر : 0     رتبه کاربر : 7062
دسته بندی : Blazor

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 4500
هوش مصنوعی

پاسخ هوش مصنوعی

در Blazor، شما هنوز هم می توانید از کوکی برای تأیید هویت و احراز هویت استفاده کنید، و کدی که در ASP.NET Core 3.1 استفاده می کردید، تقریباً مشابه است. برای پیکربندی احراز هویت دستی در Blazor، می توانید مراحل زیر را دنبال کنید.

در ابتدا، وارد کردن سرویس های مورد نیاز را در فایل Startup.cs انجام دهید:

public void ConfigureServices(IServiceCollection services)
{
    services.AddAuthentication(options =>
    {
        options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
        options.DefaultChallengeScheme = CookieAuthenticationDefaults.AuthenticationScheme;
        options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
    })
    .AddCookie(options =>
    {
        options.LoginPath = "/Account/Login";
        options.LogoutPath = "/Account/LogOut";
        options.ExpireTimeSpan = TimeSpan.FromMinutes(43200); // 1 ماه
    });
    
    services.AddRazorPages();
    services.AddServerSideBlazor();
}

سپس در متد Configure نیز احراز هویت را اضافه کنید:

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

    app.UseHttpsRedirection();
    app.UseStaticFiles();

    app.UseRouting();

    app.UseAuthentication(); // اضافه کردن این خط
    app.UseAuthorization(); // اضافه کردن این خط

    app.UseEndpoints(endpoints =>
    {
        endpoints.MapBlazorHub();
        endpoints.MapFallbackToPage("/_Host");
    });
}

بعد از این کانفیگ، می توانید از احراز هویت با استفاده از کوکی در Blazor استفاده کنید. همچنین توجه داشته باشید که می توانید از Authorization و Authentication در صفحات و کامپوننت های Blazor نیز استفاده کنید تا فقط کاربران احراز هویت شده به محتوای خاص دسترسی داشته باشند.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : fateme 00:47 1400/02/20

نکته اول در مورد سوال شما : "می خواستم بدونم در Blazor روش تغییر کرده یا از همین میشه استفاده کرد؟"

خب در این مورد بهترین راه این هست که یک پروژه Blazor ایجاد کنید و دقیقا همین کدها رو تست کنید ببینید روش کار توی Blazor با Asp.net Core یکی هست یا نیست. اگر بدون خطا کار کرد که یکیه.

اما در مورد کدهایی برای احراز هویت در Blazor نوشتید باید بگم وقتی شما از Identity استفاده می کنید دیگه خیلی از تنظیمات به صورت پیش فرض انجام میشه و نیازی نیست خودتون کوکی ها رو تنظیم کنید. یعنی کدی که شما نوشتید یک کد عمومی نیست و بنابر سلیقه برنامه نویس یا شرایط پروژه میتونه نوشته بشه یا نه.

در مورد احراز هویت در Blazor لینک زیر رو مطالعه کنید.

نحوه احراز هویت در Blazor Server App

 

ضمنا توی دوره آموزشی رایگان زیر به طور کاملا پروژه محور نحوه ایجاد ساخت و استفاده از یک اپ Blazor به همراه Authentication آموزش داده شده.

آموزش پروژه محور Blazor در Asp.net Core 5

به این پاسخ امتیاز بدهید    1
امتیاز: 1635 رتبه: 2
1 نظر
AliDesigner : با تشکر از شما اول اینکه آموزش آتونتیکیشن خود بلیزر را که توسط استاد بحرانی فرد آموزش دادن رو دیدم دوم اینکه این سوالی که من مطرح کردم مربوط میشه به claim ها که حالا نمی دونم آدرس دهی در asp core به اینصورت بود که می گفتیم برو به کنترلر Account و اکشن Login و اونجا به Identity.Name خودمون مقدار می دادیم مثلا شماره موبایل می دادیم که بصورت کوکی در مرورگر ذخیره میشد اما روش بلیزر فکر می کنم متفاوته

امتیاز کاربر : 0   رتبه کاربر : 7062   تاریخ ثبت : 08:25 1400/02/20
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود