در قسمت قبل ، سرویس و کامپوننت دریافت اطلاعات اتاقها را از Web API برنامه، تکمیل کردیم. در این قسمت با استفاده از اطلاعات مهیا شده، UI آنرا نیز تکمیل خواهیم کرد. نمایش منتظر بمانید در حین بارگذاری اولیهی کامپوننت
کامپوننتهایی که قرار است اطلاعات را از یک Web API دریافت کنند، مدتی باید منتظر بمانند تا عملیات رفت و برگشت به سرور، تکمیل شود. در این بین میتوان یک loading را به کاربر نمایش داد: @page "/hotel/rooms"
...
در قسمتهای Blazor Server مثال این سری ، با روش کار با سرویسهای سمت سرور برنامه، آشنا شدیم. در این نوع برنامهها، فقط کافی است اصل سرویس مدنظر را مستقیما در کامپوننتهای Razor تزریق کرد و سپس میتوان به نحو متداولی با آنها کار کرد؛ اما در برنامههای Blazor WASM خیر! به این نوع برنامههای سمت کلاینت باید همانند برنامههای React ، Angular ، Vue و یا حتی برنامههای مبتنی بر jQuery نگاه کرد. در تمام فناوریهای سمت کلاینت، این درخواستهای Aj ...
در قسمت قبل ، پایهی Web API و سرویسهای سمت سرور برنامهی کلاینت Blazor WASM این سری را آماده کردیم. این برنامهی سمت کلاینت، قرار است توسط عموم کاربران آن جهت رزرو کردن اتاقهای هتل فرضی مثال این سری، مورد استفاده قرار گیرد. پیش از این نیز یک برنامهی Blazor Server را تهیه کردیم که کار آن صرفا محدود است به مسائل مدیریتی هتل؛ مانند تعریف اتاقها و امکانات رفاهی آن. ایجاد یک پروژهی جدید Blazor WASM
برای تکمیل پیاده ساز ...
در این قسمت میخواهیم پایهی اعتبارسنجی و احراز هویت سمت سرور برنامهی کلاینت Blazor WASM را بر اساس JWT یکپارچه با ASP.NET Core Identity تامین کنیم. اگر با JWT آشنایی ندارید، نیاز است مطالب زیر را در ابتدا مطالعه کنید:
- « معرفی JSON Web Token » - اطلاعات بیشتر توسعهی IdentityUser
در قسمتهای 21 تا 23 ، روش نصب و یکپارچگی ASP.NET Core Identity را با یک برنامهی Blazor Serv ...
تا اینجا با اصول توسعهی برنامههای مبتنی بر Blazor Server آشنا شدیم. در ادامهی این سری، روش توسعه برنامههای مبتنی بر Blazor WASM را بررسی خواهیم کرد و پیش از شروع آن، باید بتوان امکانات سمت سرور مورد نیاز این نوع برنامههای سمت کلاینت را از طریق یک Web API تامین کرد که شامل دریافت و ارائهی اطلاعات و همچنین اعتبارسنجی و احراز هویت مبتنی بر JWT یکپارچهی با ASP.NET Core Identity است.
ایجاد پروژهی ASP.NET Core Web API
...
Blazor 5x - قسمت 23 - احراز هویت و اعتبارسنجی کاربران Blazor Server - بخش 3 - کار با نقشهای کاربران
در قسمت قبل ، روش یکپارچه سازی context مربوط به ASP.NET Core Identity را با یک برنامهی Blazor Server، بررسی کردیم. در این قسمت میخواهیم محدود کردن دسترسیها را بر اساس نقشهای کاربران و همچنین کدنویسی مستقیم، بررسی کنیم.
کار با Authentication State از طریق کدنویسی
فرض کنید در کامپوننت HotelRoomUpsert.razor نمیخواهیم دسترسیها را به کمک اعمال ویژگی attribute [Authorize]@ محدود کنیم؛ میخواهیم اینکار را از ...
در قسمت قبل ، نحوهی افزودن قالب ابتدایی ASP.NET Core Identity را به یک برنامهی Blazor Server بررسی کردیم. در این مطلب، قسمتهای ورود و خروج آنرا به همراه نمایش قسمتی از صفحه، تنها به کاربران اعتبارسنجی شده، بررسی میکنیم تا روش دسترسی به اطلاعات ASP.NET Core Identity را در یک برنامهی Blazor Server یکپارچه شدهی با آن، مطالعه کنیم. نمایش قسمتی از صفحه بر اساس وضعیت اعتبارسنجی کاربر
فرض کنید میخواهیم در کامپ ...
در ادامهی مثال این سری ، میخواهیم امکان ثبت و ویرایش اتاقها را (و یا امکانات رفاهی یک هتل را که به صورت تمرینی دقیقا مشابه افزودن مشخصات اتاقها، اضافه شده و کدهای آن از فایل پیوستی انتهای بحث قابل دریافت است) به کاربران اعتبارسنجی شدهی دارای نقش مدیریتی، محدودیت کنیم و نمیخواهیم عموم کاربران برنامه بتوانند در این قسمتها، تغییری را ایجاد کنند. برای این منظور از امکانات توکار و استاندارد ASP.NET Core Identity استفاده خواهیم کرد و این ...
در این قسمت میخواهیم بجای دریافت اطلاعات توضیحات یک اتاق، توسط یک text area متداول، برای مثال از Quill rich text editor استفاده کنیم. برای این منظور میتوان از کامپوننت Blazor محصور کنندهی آن به نام Blazored TextEditor کمک گرفت.
نصب کامپوننت Blazored TextEditor
ابتدا نیاز است بستهی نیوگت آنرا با اجرای دستور زیر، به پروژهی Blazor خود اضافه کرد: dotnet add package Blazored.TextEditor
و همچنین کتاب ...
Blazor 5x - قسمت 19 - کار با فرمها - بخش 7 - نکات ویژهی کار با EF-Core در برنامههای Blazor Server
تا قسمت قبل ، روشی را که برای کار با EF-Core درنظر گرفتیم، روش متداول کار با آن، در برنامههای ASP.NET Core Web API بود؛ یعنی این روش با برنامههای مبتنی بر Blazor WASM که از دو قسمت مجزای Web API سمت سرور و Web Assembly سمت کلاینت تشکیل شدهاند، به خوبی جواب میدهد؛ اما ... با Blazor Server یکپارچه که تمام قسمتهای مدیریتی آن سمت سرور رخ میدهند، خیر! در این مطلب، دلایل این موضوع را به همراه ارائه راهحلی، بررسی خواهیم کرد.
ط ...