آموزش json web token
بسم الله الرحمن الرحیم
یکی از مباحث بسیار مهم تعیین سطح دسترسی و احراز هویت در سیستم های وب سرویس، Angular ،Single Page Application می باشد. در این آموزش یکی از بهترین روش های ممکن برای انجام این گونه فعالیت ها را به شما آموزش خواهیم داد.
آموزش web api
امروزه تکنولوژی های بسیار زیادی وجود دارند مانند Angular یا AngularJS , Node , Single Page Application , mobile applications, RESTful API services web API,و ...همه ی این تکنولوژی ها داده هایی را از سمت Back-end دریافت می کنند و در بخش Front-End سایت نمایش می دهند.
یکی از مباحثی که در استفاده از این تکنولوژی ها مطرح است، مبحث Authentication می باشد. در تمامی این تکنولوژی ها شما می توانید اطلاعات را توسط Request هایی به سمت Back-end ارسال کنید و نتایج مربوطه را دریافت کنید، در اینجا این مسئله بسیار مهم خواهد بود که چطور مشخص کنید چه کسانی اجازه دریافت اطلاعات را دارند.
با توجه به این مسئله که امروزه Cookie به عنوان یک روش نوین جهت مشخص کردن سطوح دسترسی و محلی برای ذخیره سازی این اطلاعات مطرح است و دیگر از این روش به جای روش منسوخ شده ی Session استفاده می شود. پس می توان نتیجه گرفت که در اینجا نیز می توانیم از این روش استفاده کنیم.
در مقاله های پیشین به صورت مفصل در خصوص آموزش ASP Identity صحبت کرده ایم. در صورت تمایل می توانید این مقالات را از طریق لینک زیر مطالعه کنید، تا با روش کار Cookie و ASP Identity بیشتر آشنا شوید.
آموزش ASP Identity
آموزش Authentication در MVC
بسم الله الرحمن الرحیم
آموزش Asp.net Identity MVC (بخش اول)
آموزش Asp.net Identity (بخش دوم)
آموزش Asp.net Membership (رفع خطا)
در بعضی مواقع ممکن است شما از نوع پیش فرض authentication نمی خواهید استفاده می کنید و دوست دارید یک احراز هویت اختصاصی برای خود داشته باشید. هر کاربر شما یک کاربر منحصر به فرد خواهد بود که مجموعه ای از سطوح دسترسی را برای دسترسی به بخش های مختلف وب سایت شما خواهد داشت. وقتی که کاربر شما تایید شود می تواند وابسته به Role هایی که دارد از منابع مختلف استفاده کند.
ASP.NET به وسیله دو interface به نام های، IPrincipal and IIdentity سطوح دسترسی و identity و Role را برای هر کاربر ارائه می دهد. شما می توانید یک سطح دسترسی اختصاصی برای خود به وسیله اینترفیس های IPrincipal and IIdentity، که در HttpContext باند شده اند ایجاد نمایید.
public class CustomPrincipal : IPrincipal { public IIdentity Identity { get; private set; } public bool IsInRole(string role) { if (roles.Any(r => role.Contains(r))) { return true; } else { return false; } } public CustomPrincipal(string Username) { this.Identity = new GenericIdentity(Username); } public int UserId { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public string[] roles { get; set; } }
- 1