بهینه سازی سایت برای Federated Identity Management
همه چیز درباره هویت فدرالی Federated identity فدراسیون هویت oAuth, openID, SAML نوآوری های روز تازه های تکنولوژی
اکنون که ویژگی ها و مفاهیم اولیه Asp.Net Core Identity را بررسی کردیم، اجازه دهید وارد کد شویم. در فایل تمرینی در فایل فشرده زیر، پوشه 01_03_Begin (درس 3 از فصل 1) را باز کنید. در این وبسایت میتونید بهترین، بروزترین ترن نکات آموزشی ساختار سرویس های مایکروسافت و امنیت آن را در قالب مقاله های متعدد و دنباله دار پیدا کنید. لازم به ذکر است که لایسنس گذاری به شما کمک میکند تا ارزش مالی محصولات خود را حفظ کنید و از نسخههای غیرقانونی و استفادههای ناقض حقوق مالکیت محافظت کنید. این به کسب و کارها کمک میکند تا به درآمد پایدارتر و پشتیبانی بهتر از محصولاتشان دست یابند.
از سوی دیگر، اساتید می توانند نمرات دانشجویان را اضافه و ویرایش کنند. این بدان معناست که یک کاربر فقط باید مجوز انجام کارهای خود را داشته باشد و هیچ مجوز و دسترسی دیگری فراتر از آن وجود ندارد. برای چند هزارتا یوزر بصورت لوکال، User / Password تعریف کرد؟ دسترسی به اطلاعات را به شکل Anonymous تنظیم کرد؟! هر دو راه حل مناسب و عملی نیستند و نمی توان از آنها استفاده کرد، در ضمن برای شرکت Coho Vineyard مهم است که مکانیزم SSO برای کاربران رعایت شود و درگیر چندین یوزر پسورد نباشند. پیادهسازی سیستمهای ورود ایمن نیازمند توجه به چندین لایه امنیتی و پیروی از بهترین اصول امنیتی در هر فریمورک است.
اگر تا به امروز نگرانی شما از هرگونه سرقت، سوءاستفاده و منتشر شدن سورسکدهایتان رفع نشده است، ما به شما بهترین راهکار را معرفی میکنیم که امنیت کامل کدهای شما حفظ میشود. استفاده از انکودرهای رایج Zend Guard , ionCube, sourceguardian و …… همگی دارای ضعفهایی هستند. یا دکودرهای (رمزگشا) مخصوصشان نوشته شده است، یا سورس شما را دارای باگ میکند یا محدود به نگارش PHP خاصی میکند که بسیار وقتگیر و دوبارهکاری به بار میآید. ضمن اینکه غالبا هزینههای بسیار بالایی برای تهیه آنها نیاز است و همچنین امنیت کامل را برای شما تامین نمیکنند. OAuth برای احراز هویت از طریق حسابهای کاربری سرویسهای ثالث مانند Google و Facebook بسیار مناسب است و باعث سادهتر شدن ورود به حساب میشود.
حالا کلاس Startup را باز می کنیم و به سراغ متد ConfigureServices می رویم. این کلاس جاییست که ما وابستگی های مورد نیاز برای راه اندازی سرویس های Identity را پیکربندی می کنیم.در اینجا، یک فراخوانی به Add Identity اضافه می کنیم که دو پارامتر از نوع generic را می پذیرد. برای ساختن یک برنامه ایمن، باید هویت کاربرانی را که قصد دارند به بخش های محفاظت شده دسترسی پیدا کنند، تأیید کنیم. احراز هویت فرآیندی است که در آن اطمینان میدهیم کاربر همان شخصی است که ادعا می کند. در برنامه نمونه خود، دسترسی به پورتال دانش آموزان را به گونه ای محدود می کنیم که فقط کاربران احراز هویت شده به آن بخش دسترسی داشته باشند. این کار به این دلیل است که پورتال، اطلاعات محافظت شده ای مانند نمرات دانش آموزان را نمایش می دهد.
تکنولوژی های متفاوتی در سیستم احراز هویت فدرالی استفاده میشود که از مهم ترین این تکنولوژی ها SAML, openID و oAuth نام دارد. بخاطر اینکه ارتباط میان سرور اپلیکیشن و مرکز احراز هویت انجام میشود، ارتباط میان این دو برقرار میشود، نه مرورگر و سرور. پس اطلاعات شما همیشه در سریع ترین زمان آپدیت میشود بدون اینکه شما دخالتی داشته باشید. امینیت بالا کی از مزایای فدرال آیدنتتی هست، به این صورت که نیازی نیست بخش امنیتی احراز هویت را به عهده بگیرید و سازمانی متخصص آن را به صورت حرفه ای انجام میدهد. روش های احراز هویت زیادی وجود دارند، برخی نا امن هستند و منسوخ شدند و برخی کردی هنوز کاربرد دارند.
با لایسنس گذاری بر روی محصولات، این امکان فراهم میشود که مالکیت و کنترل محصولات را حفظ کنید و اجازه استفاده از آنها را به دیگران بدهید. این فرایند، امنیت و حقوق مالکیت فکری شما را تضمین میکند و محافظت از محصولات شما در مقابل استفادههای غیرمجاز فراهم میکند. برای اطمینان از امنیت سیستم ورود، تستهای نفوذ و ارزیابی امنیتی ضروری است. ابزارهایی مانند OWASP ZAP و Burp Suite میتوانند آسیبپذیریهای سیستم را شناسایی کنند. برای این کار طبق عکس بالا میخواهیم از کاربر این اجازه را دریافت کنیم که اطلاعات مخاطبینش را در گوگل مشاهده کنیم. برای اینکار نمیتوانیم مستقیما با گوگل ارتباط بگیریم چرا که این اجازه را به ما نمیدهد.
ما مراحل راه اندازی Identity Services را طی خواهیم کرد تا بتوانیم از قابلیت های آن استفاده کنیم. همچنین نحوه ذخیره سازی دادههای هویتی مانند حسابهای کاربری، Claim(ادعا)ها و نقشها را بررسی خواهیم کرد. ابتدا وابستگی های مورد نیاز خود را با استفاده از NuGet Package Manager با کلیک راست روی فایل پروژه و انتخاب Manage NuGet Packages اضافه می کنیم. در پنجره Browse پکیج Microsoft.AspNetCore.Identity را جستجو می کنیم.بستههای مختلفی وجود دارند که میتوان بر اساس نحوه ذخیره اطلاعات اعضای خود، از بین آنها انتخاب کرد. اگر بخواهیم چند نمونه از آنها را نام ببریم، می توانیم به مواردی مانند ارائه دهندگان پایگاه داده، ذخیره سازی جدول Azure، و Active Directory اشاره کنیم. ما قبلاً بسته اصلی Entity Framework Core را به پروژه اضافه کرده ایم.
برای پیاده سازی ADFS چندین توپولوژی وجود دارد که از یک ساختار کوچک و ساده شروع و به ساختار بزرگ و Enterprise منتهی می شود. همچنین زی لایسنس دارای سرویس های بسیار دیگری است که میتوانید با ورود به صفحه موردنظر هر سرویس مزایای هر سرویس را مشاهده نمایید. SAML 2.0 نیز برای احراز هویت بکار میرود با این تفاوت که از oAuth و openID مستقل عمل میکند و برای رمزنگاری و انتقال پیام از Service Provider به Identity Provider مورد استفاده قرار میگیرد. با لایسنس گذاری، شما قادر به تنظیم محدودیتهایی برای استفاده از محصول خود هستید. این امر میتواند شامل محدود کردن دسترسی به محصول، تعیین نوع استفاده یا حتی محدودیت زمانی باشد که باعث میشود کاربران تنها به محصول در مدت زمان مشخصی دسترسی داشته باشند.
این کار به شما کمک میکند تا جلوی انتشار و استفادههای غیرمجاز از محصولات خود را بگیرید و به درآمد بیشتری دست یابید. اجازه دهید یک مثال دیگر بزنم برای اینکه چگونه سیستم احراز هویت فدرالی بوسیله oAuth و openID پیاده سازی میشود. اولین پارامتر User است و ما از کلاس پیشفرض IdentityUser که با فریمورک ارائه میشود استفاده میکنیم. برای استفاده از این کلاس پیش فرض، باید فضای نام Microsoft.AspNetCore.Identity.EntityFrameworkCore را به بالای کلاس اضافه کنیم.IdentityUser دارای ویژگی هایی مانند نام کاربری، ایمیل و مجموعه ای از Claimهای کاربر است. زمانی که از IdentityUser ارث می بریم می توانیم ویژگی های سفارشی خود را اضافه کنیم. در صورت نیاز به سفارشی سازی، می توانید از این کلاس ارث بری کرده و آن را شخصی سازی کنید.از آنجایی که ما از SQL Server، به عنوان یک چارچوب موجود برای ذخیره سازی داده ها استفاده می کنیم، باید DbContext خود را با استفاده از تزریق وابستگی ثبت کنیم.کد زیر را اضافه می کنیم.
احراز هویت بایومتریک روشی است که به کاربر اجازه میدهد بوسیله اعضا بدن مانند اثر انگشت، چشم و صورت با سرور احراز هویت کند. اثر انگشت و یا Face ID گوی های تلفن همراه از اینگونه احراز هویت است. با افزایش استفاده از احراز هویت بیومتریک (مانند اثر انگشت و تشخیص چهره)، بسیاری از سیستمها از این قابلیت برای احراز هویت سریعتر و امنتر بهره میگیرند. پیادهسازی این قابلیت برای برنامههای موبایل و استفاده از APIهای سیستمعاملهای Android و iOS امکانپذیر است. سمل، یا Security Assertion Markup Language به صورت مخفف SAML یک استاندارد باز برای تبادل داده های احراز هویت و مجوز بین طرفین ، به ویژه بین یک ارائه دهنده هویت و یک ارائه دهنده خدمات است. SAML یک زبان نشانه گذاری مبتنی بر XML برای ادعاهای امنیتی است (اظهاراتی که ارائه دهندگان خدمات برای تصمیم گیری در مورد کنترل دسترسی استفاده می کنند).
احراز هویت مبتنی بر توکن، بهخصوص JSON Web Tokens (JWT)، یک روش امن و سبک برای احراز هویت کاربران بهشمار میرود. اکنون می توانیم جداول ایجاد شده را مشاهده کنید، پایگاه داده RouxAcademy را خواهید دید. به جداول ایجاد شده ای که با AspNet شروع می شوند توجه کنید.در اینجا می توانید جداول کاربر و نقش و سایر جداول مرتبط مورد استفاده توسط Identity را مشاهده کنید. بیایید به سراغ کلاس Startup برویم و متد Configure خود را پیدا کنیم. ما باید میانافزار کوکیها را در اینجا ثبت کنیم، و باید توجه داشته باشیم که این ثبت قبل از ثبت میانافزار Mvc انجام شده باشد تا زمانی که Mvc دسترسی غیرمجاز را شناسایی کرد، بتواند کاربر را به صفحه ورود هدایت کند. شما Idp را بعنوان یک Domain Controller در نظر بگیرید و RP را بعنوان Application یا Server (بعنوان مثال File Server).
در این داکیومنت به بررسی و آموزش سرویس بسیار جذاب و حرفه ای مایکروسافت بنام Active Directory Federation Service می پردازیم. یکی از اصول اولیه توسعه سیستم ورود ایمن، ذخیرهسازی رمزهای عبور به شیوهای امن است. در همه فریمورکهای محبوب، توصیه میشود که رمزهای عبور بهصورت هش شده ذخیره شوند. سپس سرور این توکن را به گوگل نشان میدهد و میتواند به اطلاعات دفترچه تلفن کاربر دسترسی داشته باشد. سپس متصدی به این دانشجو یک badge میدهد که دیگر نیاز نباید برای رفتن به بوفه و بقیه اماکن دانشگاه احراز هویت کند. برایان آلدمرمن MVP مایکروسافت است و فوق لیسانس خود را در سیستم های اطلاعات رایانه ای گرفته است.
برای اینکار متصدی کتابخانه دفترچه ای دارد که در آن میتواند بفهمد کجا میتواند ادعای این فرد را ثابت کند. حملات CSRF (Cross-Site Request Forgery) میتوانند برای تغییرات غیرمجاز در حسابهای کاربری استفاده شوند. بیشتر فریمورکها دارای مکانیزمهای داخلی برای مقابله با این حملات هستند. این توکن دارای مدت زمان مشخصی است و فقط برای این سرور و دامنه اینترنتی خاص تولید شده تا مورد سو استفاده قرار نگیرد. OpenID یا openID connect بر روی oAuth 2.0 ساخته شده و از JSON web token به نام ID token برای استاندارد سازی محیط هایی که oAuth به انتخاب میگذارد استفاده میکند.
WID یکسری محدودیتها نیز دارد، مثلا قابلیت های SAML artifact و Token replay detection را ساپورت نمی کند. مدیریت هزاران کاربر و session ها در دیتابیس برای اپلیکیشن ها بسیار سخت است، کامپایل کردن این اطلاعات حجم بسیار بالایی از سرور های شمارا اشغال میکند. ولی در سیستم فدرالی این امر توسط شما مدیریت نمیشود و توسط identity provider امکان پذیر میشود. احراز هویت چندعاملی یک لایه امنیتی اضافی برای جلوگیری از دسترسی غیرمجاز فراهم میکند. اکثر فریمورکها قابلیت پیادهسازی MFA از طریق افزونهها و کتابخانههای جانبی دارند.
هنگامی که از این سیستم استفاده میکنید بخاطر صرفه جویی در وقت، بالابردن امنیت و آسان کردن کار، کارایی شما و یا کارمندان سازمان بالا میرود. در ارتباط دو سرور در terminal کار را بسیار راحت میکند و همچنین در VPN ها نیز کاربرد وسیعی دارد. اصالتسنجی یا احراز هویت به تعیین صحت و سقم یک ویژگی، داده یا نهاد گفته میشود. این فرایند ممکن است شامل تأیید هویت یک شخص، دنبال کردن ریشههای یک سازهٔ بشری، مطمئن شدن از اینکه یک کالا همانی است که بستهبندی و شناسبرگش ادعا میکنند، یا اطمینان از قابل اعتماد بودن یک نرمافزار رایانهای باشد. و این دستور در واقع migration ها را به پایگاه داده اعمال می کند. همانطور که در تصویر فوق می بینید برای FSP ها ADFS لودبلانسر جداگانه ای استفاده شده است، و هر کدام از آنها VIP مخصوص خود را دارد.
از سال 1995 ، وی چندین گواهینامه مایکروسافت را در اختیار داشته است که در حال حاضر شامل این موارد است. MCT ، MCSE برای SharePoint ، MCSA برای Office 365 ، MCITP برای SQL Server (R) ، MCSA و MCSE برای ویندوز سرور (R) و همچنین گواهینامه PMP وی. وی به عنوان یک مربی ارشد فنی و مشاور ، 30 سال تجربه در زمینه شبکه ، پایگاه داده SQL Server ، فن آوری های SharePoint و مدیریت پروژه دارد. انتشارات برایان شامل Windows 2000 Professional ، SQL Server 2000 Administration ، SharePoint 2010 Administrator's Companion و Microsoft SharePoint 2013 Administration Inside Out است. وی یک سخنران فعال در کنفرانس های صنعت شیرپوینت از جمله SharePoint Saturday ، SPLive ، DevIntersection ، SharePoint Fest ، Microsoft Ignite و چندین کنفرانس بین المللی SharePoint از جمله لندن ، میلان و مادرید است. همین فراخوانی ساده برای استفاده از احراز هویت مبتنی بر کوکی، اکنون به pipeline درخواست ها اضافه شده است.
در این عکس کاربر برای ورود به سیستم میخواهد از گوگل مجوز هایی دریافت کند. و سپس سرور خدماتی به user agent یک نماد یا badge میدهد که میتواند در وبسایتی دیگر که از این خدمات استفاده میکنند نیز به صورت خودکار لاگین شود. در مثال پایین میبینیم که تفاوت هویت فدرالی این است که اعتمادسازی باید بین Service Provider و Identity Provider صورت بگیرد. او متوجه میشود که باید با آموزش و پرورش برای احراز هویت تماس بگیرد. هویت دیجیتالی یا identity اطلاعاتی است از یک موجودیت که توسط سیستم استفاده میشود. که بوسیله آن بتوان یک عامل خارجی یا همان external agent را نمایندگی کرد.
پس سازمانی که به منابع سازمان دیگر متصل و از ان استفاده می کند، Identity provider می باشد، و سازمانی که منابع را دارد و کاربران را بر اساس ADFS احرازهویت می کند Relying Party. وقتی که دو سازمان از ADFS استفاده می کنند، برای اینکه بتوانند همدیگر را (بر اساس ADFS) Authenticate کنند باید بین ADFSها یک Federation Trust ایجاد شود. مثلا در ارتباط دو سرور با یکدیگر اینگونه عمل میشود که دو سند توسط الگوریتم رمزنگاری مثلا RSA تولید میشود که یکی Private key نام دارد و دیگری public key . این کلیدها در سیستم ذخیره میشوند و اگر private key ارسالی شما با public key سازگار بود احراز هویت صورت میگیرد و دیگر نیاز به وارد کردن رمز نیست. در این روش از احراز هویت، هنگامی که آیدی یا شماره خود را به وبسایت یا اپلیکیشن میدهید، اپلیکیشن کدی را در سرور به صورت تصادفی یا random ایجاد میکند و آن را به شما پیامک میکند، یا با اپلیکیشن دیگری مانند Google Authenticator برای شما ارسال میکند. نیاز به صررف منابع و هزینه برای ایجاد سیستم احراز هویت سازمان ندارید چرا که بخش عمده آن توسط سیستم فدرال انجام میشود.
زی لایسنس اولین و برترین سرویس است که بصورت 100% ایمن برنامه نویسی شده است و بصورت یک سامانه آنلاین جهت مدیریت و ساماندهی لایسنس ها با الگوریتمی بسیار نوین و ایمن برای مشترکین ایفای نقش میکند. بطور کلی توسط سرویس زی لایسنس میتوانید برای کلیه پروژه های php، اسکریپت، سیستم های فروشگاهی، سایت ساز، قالب، افزونه و هر آن چیزی که میخواهید مجوز و لایسنس تعریف کنید. و جلوی انتشار غیر مجاز سرویس ها و محصولات خود را بگیرید.باتوجه به اینکه این سرویس دارای API اختصاصی می باشد، با استفاده از آن می توانید بر روی هر زبان برنامه نویسی که قابلیت کلاس نویسی را داشته باشد کلاس مربوطه را کدنویسی و بر روی محصول خود لایسنس قرار دهید. این افزونه با ارائه API اختصاصی می تواند بستری را فراهم سازد تا بتوانید روی تمامی محصولات خود لایسنس بگذارید. باتوجه به اینکه این سرویس دارای API اختصاصی است، با استفاده از آن می توانید بر روی هر زبان برنامه نویسی که قابلیت کلاس نویسی را داشته باشد کلاس مربوطه را کدنویسی و بر روی محصول خود لایسنس قرار دهید. باتوجه به اینکه این سرویس دارای API اختصاصی می باشد، با استفاده از آن می توانید بر روی هر زبان برنامه نویسی که قابلیت کلاس نویسی را داشته باشد کلاس مربوطه را کدنویسی و بر روی محصول خود لایسنس قرار دهید.
OAuth 2.0 ورژن شماره 2 oAuth که در سال 2005 ارائه شد در اصل چارچوب برنامه نویسی است که وظیفه آن کنترل احرازهویت برای منابع حفاظت شده ای مانند فایل ها و فولدر هاست. OAuth یک قرارداد باز است که به کاربران خدمات اینترنتی بکارگیرندهٔ آن اجازه میدهد اطلاعات کاربریشان را بدون نیاز به دادن گذرواژه و نام کاربری، به صورت امن، با خدمات دیگر به اشتراک بگذارند. برخی از وبگاههای مهم از جمله گوگل و توییتر از آن پشتیبانی میکنند. یکبار ورود یا single sign-onدر این سیستم کافیست یکبار احراز هویت شوید و سپس به وسیله همان احراز هویت در چند وبسایت یا سرویس لاگین باشید. ارتقاء این توپولوژی به چند Federation Server و Federation server proxy آسان می باشد و می توان به سادگی HA را برای این سرویس به ارمغان آورد.
پس (طبق عکس بالا) روال کار به این صورت است که اول از مخاطب درخواست صدور مجوز را میگیریم. کاربر در گوگل احراز هویت میشود و به گوگل میگوید که این اپلیکیشن و یا این سرور اجازه دارد مخاطبین من را ببیند. سپس گوگل به کاربر توکن موقتی میدهد و کاربر این توکن موقت را به سرور ما میدهد. در احراز هویت بوسیله توکن، رمزی توسط سرور برای مدتی محدود تولید میشود و به کاربر اجازه استفاد کوتاه مدت از خدمات را میدهد و درواقع به صورت کوتاه مدت احراز هویت صورت میگیرد. اطلاعات موجود در هویت دیجیتال امکان ارزیابی و احراز هویت کاربری را فراهم می کند که بدون درگیر شدن اپراتورهای انسانی در وب با یک سیستم تجاری در تعامل است.
هویت های دیجیتال اجازه می دهد دسترسی ما به رایانه ها و خدماتی که آنها ارائه می دهند خودکار باشد و امکان میانجی گری روابط برای رایانه ها را فراهم می کند. در این توپولوژی از دو نوع دیوایس استفاده شده است یکی برای بالانس ترافیک سرورها و یکی برای بالانس ترافیک دیتاسنترها، که دیوایس F5 Global Traffic Manager یکی از دیوایس های حرفه ای برای بالانس ترافیک دیتاسنترهای می باشد. همچنین در این توپولوژی از SQL Server’s mirroring برای ایحاد HA در سطح دیتابیس ها استفاده شده است.خب، تا اینجا با ابتدائی ترین مباحث تئوری این سرویس اشنا شدیم در جلسه بعدی نحوه پیاده سازی این سرویس و پیش نیازهای آن را بررسی خواهیم کرد. دوستان درک و هضم بعضی از مفاهیم و conceptsهای این سرویس با توضیح و طرح سناریو کمی سخت می باشد، به همین دلیل توضیحات تکمیلی اصطلاحات فوق را بیشتر هنگام پیاده سازی این سرویس و انجام بعضی از سناریوها ارائه خواهیم داد. برای عضویت در سرویس زی لایسنس، به راحتی میتوانید از طریق منوی سایت، بر روی گزینه ثبت نام کلیک کنید. در صورت عضو سایت هستید، با ورود به پنل کاربری، به سادگی وارد سرویس زی لایسنس شوید.
مثل فدراسیون های مختلف در ایران، اتحادیه اروپا و سیستم کشور آمریکا. اصطلاح “هویت دیجیتال” همچنین جنبه های خاصی از هویت مدنی و شخصی را نشان می دهد که ناشی از استفاده گسترده از اطلاعات هویتی در دنیای دیجیتال است.
اخرین توپولوژی و پیچیده ترین آن قرار دادن سرورهای ADFS در چند دیتاسنتر و در چند موقعیت جغرافیایی مختلف می باشد، که حداکثر HA را برای این سرویس به ارمغان می آورد. در این توپولوژی تمامی یوزرها از یک DNS Name استفاده می کنند و یوزرهای هر سایت به نزدیکترین سرور از لحاط موقعیت جغرافیائی وصل خواهند شد. یکی از ساده ترین توپولوژی های موجود استفاده از یک سرور ADFS می باشد، که بیشتر برای یادگیری و تست قابلیت های این سرویس استفاده می شود. در این توپولوژی دیتابیس از نوع WID می باشد، کلا استفاده از این توپولوژی بسیار محدود می باشد. در این قسمت توپولوژی های مورد استفاده برای ADFS را بررسی خواهیم کرد.
و در نهایت، ما ارائه دهندگان Token پیش فرض خود را اضافه می کنیم. اینها در تولید Token هایی برای بازنشانی رمز عبور و قابلیت احراز هویت دو مرحله ای نقش دارند. سیستم Identity یک context پایگاه داده اختصاصی به نام IdentityDbContext را ارائه می دهد.این سیستم دارای Property هایی از نوع Db Set برای کاربران، نقش ها، Claim ها و سایر جداول در شمای مربوطه است. و اکنون برای context خودمان، ما از SQL Server به عنوان ارائه دهنده پایگاه داده خود استفاده خواهیم کرد و باید Connection String(نام رشته اتصال) را تعریف و مشخص کنیم. Connection String (رشته اتصال) ی که در اینجا می بینید در فایل پیکربندی تنظیمات برنامه appsettings.json ذخیره می شود. با عضویت در سرویس زی لایسنس، پنلی برای شما فراهم میشود که با آن میتوانید به تمام محصولات خود لایسنس اختصاص دهید و از محصولات و خدمات خود محافظت کنید.
اگر به یاد داشته باشید شاید حدود 20 سال پیش احراز هویت روند ساده تری از امروز داشت. با گذشت زمان و پیشرفت تکنولوژی و افزایش تعداد کاربران روش های امنت تر و پیچیده تری جایگزین شد. برای داشتن HA برای سرویس ADFS نیازمند ادغام load balancing می باشید. برای ایجاد load balancing می توانید از سرویس ها و سخت افزارهای زیادی مانند WAF استفاده کنید، و این سرویس را بصورت لایه 4 با پورت های 80 یا 443 لود بالانس کنید. در این سرویس نیازی به استفاده از قابلیت های affinity or SSL offloading نمی باشد، مگر اینکه نیاز مبرم به این قابلیت ها داشته باشید. با عضویت در سرویس های زی لایسنس میتوانید از تمامی این مزیت ها بهره مند شوید.
دانشآموزان ابتدا باید حسابهای کاربری با مشخصات لازم برای ورود ایجاد کنند و سپس هویت خود را در صفحه ورود به سیستم تأیید کنند. رویکردهای مختلفی برای پیاده سازی احراز هویت وجود دارد، و ما دو گزینه پیشنهادی را بررسی خواهیم کرد.اولین رویکرد اضافه کردن احراز هویت محلی مبتنی بر کوکی با ASP.NET Core identity است. سیستمهای ورود ایمن بخش کلیدی و حساس در توسعه برنامههای وب و موبایل هستند. امنیت سیستمهای ورود تضمین میکند که تنها کاربران مجاز به حسابها دسترسی داشته باشند و اطلاعات کاربران محافظت شود. با توجه به فریمورکهای محبوبی مانند Django، Ruby on Rails، Express.js و Laravel، در این مقاله به بررسی چگونگی توسعه سیستمهای ورود ایمن و پیادهسازی بهترین اصول امنیتی در این فریمورکها میپردازیم. به عنوان مثال، دانشجویان یک کلاس مشخص تنها مجاز به "مشاهده" نمرات تعیین شده توسط اساتید خود هستند.
با استفاده از تکنیکهایی مانند احراز هویت چندعاملی، ذخیرهسازی امن رمزهای عبور، جلوگیری از حملات رایج و انجام تستهای نفوذ، میتوان یک سیستم ورود ایمن و قابل اعتماد توسعه داد. در نهایت، انتخاب ابزارها و کتابخانههای مناسب در هر فریمورک برای پیادهسازی این قابلیتها از اهمیت ویژهای برخوردار است. می بینید که این رشته اتصال برای استفاده از نمونه SQL Server Express محلی که با ویژوال استودیو نصب شده است، پیکربندی شده است. بعد، ما باید migrations assembly (اسمبلی مهاجرت یا انتقال) خود را پیکربندی کنیم. اکنون باید به Identity Services بگوییم که از Entity Framework استفاده کند و این کار را با افزودن فراخوانی به متد AddEntityFrameworkStores انجام خواهیم داد. و ما context استفاده از پایگاه داده را مشخص می کنیم که همان IdentityDBContext است که به تازگی ایجاد کرده ایم.
برای جلوگیری از حملات بروتفورس، باید تعداد تلاشهای ورود ناموفق محدود شود و پس از چند تلاش ناموفق، حساب کاربر بهطور موقت قفل شود. استفاده از ORMهای امن بهجای دستورات SQL خام در تمامی فریمورکهای محبوب توصیه میشود. فرض را بر این بگیریم که شما اپلیکیشنی ساخته اید و میخواهید کاربر توسط دفترچه تلفن گوگل دوستان خود را به صورت خودکار در شبکه اجتماعی شما به لیست دوستانش اضافه کند. برای احراز هویت آموزش و پرورش میخواهد که با amy صحبت کند تا از هویت او مطمئن گردد. بعد از اینکه این اتفاق افتاد به متصدی میگوید که این فرد دانشجوی دانشگاه آزاد است و هویتش مورد تایید است. در عکس اول کاربر، بر فرض دانشجوی یک دانشگاه به کتابخانه مرکزی دانشگاه میرود و تقاضای کتاب میکند.
خرید دوره آموزش سئو کلاه خاکستری