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

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

محل identity هنگام استفاده از jwt

پنج شنبه, 26 مهر 1397 01:58

محل identity هنگام استفاده از jwt

سلام . مقاله سایت رو در مورد JWT خوندم .

فرض کنید سولوشن دارای لایه های مختلف webapi و webapplication است (مثل همین پروژه fitness) که webapplication با MVC Core به صورت httpclient و razor ساده از WebAPI استفاده میکنه.

اگه بخوایم از microsoft identity برای authentication استفاده کنیم اینکار توی لایه webapi انجام میشه یا webapplication ؟

اگر توی Webapi هست اگه توی webapplication لازم بشه توی razor یا controller برای کار خاصی authenticate بودن چک بشه دیگه نمیشه از User  یا usermanager استفاده کرد؟ واعتبار سنجی های controller وفیلتر های اون [authorize] چه جوری اعمال میشه؟

پنج شنبه, 26 مهر 1397 09:31

The layer is a logical separation

The Tier is physical  separation

قبل از این که مشکل اصلی شما را حل کنیم ابتدا میخوام چند نکته را به شما ارئه بدم.

"فرض کنید سولوشن دارای لایه های مختلف webapi و webapplication است "

در این جمله شما از کلمه لایه استفاده کردید. که درست نیست. (لایه یا لایه ها یا لایه بندی) مربوط به جداسازی منطقی می باشند نه یک class library یا پروژه جدا دورن solution شما این گونه جدا سازی به این معنی نیست که شما پروژه را لایه بندی کردید.

جدا کردن تایر های مختلف یک پروژه به عنوان مثال جدا کردن سرویس وب api و بانک اطلاعاتی یا برنامه وب شما می باشد. این جدا سازی فیزکی هست و شما هر کدام از آن ها را یا در سیستم یا در قسمت جداگانه قرار می دهید این که آن ها صرفا درون یک solution باشند به معنی جدا سازی نیست.

توصیعه من با شما این است که سرویس web api خود را به صورت جداگانه و در یک پروژه دیگر توسعه بدید و تنظیمات مربوط به jwt را درون آن قرار بدید. 

حال یک سوال برای شما پیش می آید آیا با کلاس های مربوط به سرویس ها یا repostiroy ها هم به صورت جداگانه برای هرکدام بنویسم ؟ جواب این است که شما یک هسته درست کنید قلب کل سیستم شماست و هر تایر شما یا پروژه جداگانه ای که از آن استفاده می کنید بتوان از آن هسته استفاده کند. 

این سناریو هم میتواند بر اساس ساختار و کلیت پروژه شما تغییر کند.

کسانی که از این پست تشکر کرده اند : iran,

ارسال پاسخ برای این تاپیک

ارسال پاسخ مخصوص اعضا سایت می باشد ! میتوانید با حساب کاربری خود وارد سایت شده یا ثبت نام کنید