آموزش Spring Security Zero to Master همراه با JWT,OAUTH2

Spring Security Zero to Master along with JWT,OAUTH2

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: Spring Security، SpringBoot Security، CORs، CSRF، JWT، OAUTH2، OpenID Connect، جزئیات چارچوب KeyCloak Spring Security و ویژگی های آن. نحوه تطبیق امنیت برای یک برنامه وب جاوا با استفاده از Spring Security چیست CSRF, CORS, JWT, OAUTH2 اعمال قوانین مجوز با استفاده از نقش ها، مقامات داخل یک برنامه وب با استفاده از روش Spring Security سطح امنیت در برنامه های کاربردی وب/غیر وب پیش نیازها: Basics Java چارچوب Spring

دوره «Spring Security Zero to Master» به درک معماری Spring Security، بسته‌های مهم، رابط‌ها، کلاس‌های داخل آن که درخواست‌های احراز هویت و مجوز را در برنامه‌های کاربردی وب رسیدگی می‌کند، کمک می‌کند. همچنین رایج‌ترین موضوعات مرتبط با امنیت مانند COR، CSRF، JWT، OAUTH2، مدیریت رمز عبور، امنیت سطح روش، کاربر، مدیریت مقامات نقش‌ها در برنامه‌های وب را پوشش می‌دهد.

در زیر موضوعات مهمی که این دوره پوشش می دهد،

آورده شده است
  1. جزئیات چارچوب امنیتی Spring و ویژگی‌های آن

  2. نحوه تطبیق امنیت برای یک برنامه وب جاوا با استفاده از Spring Security

  3. مدیریت رمز عبور در Spring Security با رمزگذار رمز عبور

  4. مطالعه عمیق در مورد رمزگذاری، رمزگذاری و هش کردن

  5. CSRF، CORS چیست و نحوه رسیدگی به آنها

  6. احراز هویت و مجوز چیست. چقدر آنها با یکدیگر متفاوت هستند.

  7. ایمن‌سازی آدرس‌های اینترنتی نقطه پایانی در داخل برنامه‌های وب با استفاده از Ant، ​​MVC Regex Matchs

  8. فیلترها در Spring Security و نحوه نوشتن فیلترهای سفارشی خود

  9. مطالعه عمیق در مورد JWT (JSON Web Tokens) و نقش آنها در مجوز احراز هویت

  10. غواصی عمیق در مورد OAUTH2 و انواع مختلف جریان های کمک مالی در داخل OAUTH2.

  11. مطالعه عمیق درباره OpenID Connect نحوه ارتباط آن با OAUTH2

  12. اعمال قوانین مجوز با استفاده از نقش‌ها، مقامات داخل یک برنامه وب با استفاده از Spring Security

  13. امنیت سطح روش در برنامه‌های کاربردی وب/غیر وب

  14. ادغام ورود به سیستم اجتماعی در برنامه های کاربردی وب

  15. تنظیم سرور مجوز با استفاده از KeyCloak


پیش نیاز دوره، دانش پایه جاوا، Spring و علاقه به یادگیری است.


سرفصل ها و درس ها

شروع شدن Getting Started

  • معرفی دوره Course Introduction

  • جزئیات کد منبع، محتوای PDF و سایر دستورالعمل‌های دوره Details of Source Code, PDF Content & other instructions for the course

  • امنیت چیست و چرا مهم است What is Security & Why it is important

  • ایجاد یک برنامه ساده Spring Boot بدون امنیت Creating a simple Spring Boot app with out security

  • ایمن کردن برنامه اولیه Spring Boot با استفاده از Spring Security Securing Spring Boot basic app using Spring Security

  • اعتبارنامه های استاتیک را در فایل ویژگی های برنامه پیکربندی کنید Configure static credentials inside application properties file

  • چرا باید از چارچوب Spring Security استفاده کنیم؟ Why should we use Spring Security framework

  • معرفی سریع Servlets & Filters Quick introduction to Servlets & Filters

  • مقدمه ای بر جریان داخلی Spring Security Introduction to Spring Security Internal flow

  • نمایش جریان داخلی Spring Security Demo of Spring Security internal flow

  • جریان توالی رفتار پیش‌فرض Spring Security Sequence flow of the Spring Security default behaviour

  • درک نحوه عملکرد چندین درخواست بدون اعتبار Understanding on how multiple requests work with out credentials

  • مسابقه "شروع با امنیت بهار". "Getting started with Spring Security" quiz

تغییر تنظیمات امنیتی پیش فرض Changing the default security configurations

  • آشنایی با بخش UI از برنامه EazyBank Understanding about UI part of the EazyBank application

  • خدمات Backend REST برای برنامه EazyBank مورد نیاز است Backend REST services required for EazyBank app

  • ایجاد خدمات باطن مورد نیاز برای برنامه EazyBank - قسمت 1 Creating backend services needed for the EazyBank application - Part 1

  • ایجاد خدمات پشتیبانی مورد نیاز برای برنامه EazyBank - قسمت 2 Creating backend services needed for the EazyBank application - Part 2

  • بررسی پیکربندی پیش فرض در چارچوب امنیتی فنری Checking the default configuration inside the spring security framework

  • تغییر کد مطابق با نیازهای سفارشی ما Modifying the code as per our custom requirements

  • رد کردن همه درخواست ها Denying all the requests

  • به همه درخواست ها اجازه دهید Permit all the requests

  • آزمون مربوط به "درک و تغییر تنظیمات امنیتی پیش فرض" Quiz related to "Understanding & Changing the default security configurations"

تعریف و مدیریت کاربران Defining & Managing Users

  • مقدمه ای بر دستور کار بخش Introduction to the agenda of the section

  • پیکربندی کاربران با استفاده از InMemoryUserDetailsManager - Approach 1 Configuring users using InMemoryUserDetailsManager - Approach 1

  • پیکربندی کاربران با استفاده از InMemoryUserDetailsManager - Approach 2 Configuring users using InMemoryUserDetailsManager - Approach 2

  • درک رابط های مدیریت کاربر و کلاس ها Understanding User Management interfaces and Classes

  • غواصی عمیق از رابط کاربری Details و کلاس کاربر Deep Dive of UserDetails Interface & User class

  • بررسی عمیق رابط های UserDetailsService و UserDetailsManager Deep Dive of UserDetailsService & UserDetailsManager Interfaces

  • فرو رفتن عمیق کلاس های پیاده سازی UserDetailsManager Deep Dive of UserDetailsManager Implementation classes

  • ایجاد پایگاه داده MySQL در فضای ابری Creating MySQL Database in the cloud

  • اتصال به DB و ایجاد کاربران در داخل DB طبق JdbcUserDetailsManager Connecting to DB & Creating Users inside the DB as per JdbcUserDetailsManager

  • استفاده از JdbcUserDetailsManager برای احراز هویت Using JdbcUserDetailsManager to perform authentication

  • ایجاد جداول سفارشی خودمان برای احراز هویت Creating our own custom tables for Authentication

  • ایجاد کلاس های JPA Entity و Repository برای جدول جدید Creating JPA Entity and repository classes for new table

  • ایجاد پیاده سازی سفارشی خود از UserDetailsService Creating our own custom implementation of UserDetailsService

  • ساخت یک REST API جدید برای اجازه ثبت نام کاربر جدید Building a new REST API to allow the registration of new User

  • آزمون "تعریف و مدیریت کاربران" در امنیت Spring Quiz on "Defining & Managing Users" in Spring Security

مدیریت رمز عبور با PasswordEncoders Password Management with PasswordEncoders

  • چگونه گذرواژه‌های ما در Spring Security به‌طور پیش‌فرض اعتبارسنجی می‌شوند How our passwords validated in Spring Security by default

  • رمزگذاری در مقابل رمزگذاری در مقابل هشینگ - قسمت 1 Encoding Vs Encryption Vs Hashing - Part 1

  • رمزگذاری در مقابل رمزگذاری در مقابل هشینگ - قسمت 2 Encoding Vs Encryption Vs Hashing - Part 2

  • چگونه رمزهای عبور ما با هش کردن و رمزگذار رمز عبور تأیید می شود How Our passwords will be validated with hashing & PasswordEncoders

  • شیرجه عمیق رابط PasswordEncoder Deep dive of PasswordEncoder interface

  • بررسی عمیق کلاس های پیاده سازی PasswordEncoder - قسمت 1 Deep dive of PasswordEncoder implementation classes - Part 1

  • بررسی عمیق کلاس های پیاده سازی PasswordEncoder - قسمت 2 Deep dive of PasswordEncoder implementation classes - Part 2

  • دمو ثبت نام کاربر جدید با رمزگذار رمز عبور Bcrypt Demo of registration of new user with Bcrypt password encoder

  • نسخه ی نمایشی ورود با رمزگذار رمز عبور Bcrypt Demo of login with Bcrypt password encoder

  • آزمون مربوط به مدیریت رمز عبور در امنیت بهار Quiz related to Password Management in Spring Security

آشنایی با ارائه دهنده احراز هویت و پیاده سازی آن Understanding Authentication Provider and Implementing it

  • چرا باید به ایجاد AuthenticationProvider خودمان فکر کنیم Why should we consider creating our own AuthenticationProvider

  • آشنایی با روش های AuthenticationProvider Understanding AuthenticationProvider methods

  • پیاده سازی و سفارشی سازی AuthenticationProvider در داخل برنامه ما Implementing and Customising the AuthenticationProvider inside our application

  • آزمایش پیاده سازی AuthenticationProvider سفارشی ما Testing our custom AuthenticationProvider implementation

  • دنباله امنیتی Spring با AuthenticationProvider سفارشی جریان می یابد Spring Security Sequence flow with custom AuthenticationProvider

  • آزمون مربوط به AuthenticationProvider در امنیت Spring Quiz related to AuthenticationProvider in Spring Security

درک COR و CSRF Understanding CORs & CSRF

  • راه اندازی پروژه EazyBank UI Setting up the EazyBank UI project

  • آشنایی با پروژه UI و بررسی کد Angular Understanding the UI project and walkthrough of the Angular code

  • ایجاد طرح DB جدید برای سناریوهای EazyBank Creating new DB schema for EazyBank scenarios

  • به روز رسانی پروژه Backend بر اساس آخرین طرح DB Updating Backend project based on the latest DB schema

  • تست ثبت نام کاربر جدید با آخرین تغییرات Testing registration of the new user with latest changes

  • خطای طعم CORs Taste of CORs error

  • مقدمه ای بر COR ها Introduction to CORs

  • گزینه های ممکن برای رفع مشکل COR Possible options to fix the CORs issue

  • رفع مشکل COR با استفاده از Spring Security Fixing CORs issue using Spring Security

  • نسخه نمایشی حفاظت پیش فرض CSRF در داخل Spring Security Demo of default CSRF protection inside Spring Security

  • مقدمه ای بر حمله CSRF Introduction to CSRF attack

  • راه حلی برای مدیریت حملات CSRF Solution to handle CSRF attacks

  • نادیده گرفتن حفاظت CSRF برای APIهای عمومی Ignoring CSRF protection for public APIs

  • پیاده سازی راه حل توکن CSRF در داخل برنامه وب ما Implementing CSRF token solution inside our web application

  • آزمایش تغییرات مربوط به CSRF Testing the CSRF related changes

  • آزمون مربوط به CORs و CSRF Quiz related to CORs & CSRF

درک و اجرای مجوز Understanding & Implementing Authorization

  • احراز هویت در مقابل مجوز Authentication Vs Authorization

  • چگونه مقامات داخل Spring Security ذخیره می شوند How Authorities stored inside Spring Security

  • ایجاد مقامات جدول جدید برای ذخیره چندین نقش یا مقامات Creating new table authorities to store multiple roles or authorities

  • ایجاد تغییرات باطنی برای بارگیری مقامات از جدول DB جدید Making backend changes to load authorities from new DB table

  • پیکربندی مقامات داخل برنامه وب با استفاده از نظریه امنیت Spring Configuring Authorities inside web application using Spring Security-Theory

  • پیکربندی مقامات داخل برنامه وب با استفاده از Spring Security - Coding Configuring Authorities inside web application using Spring Security - Coding

  • اقتدار در مقابل نقش در امنیت بهار Authority Vs Role in Spring Security

  • پیکربندی مجوز نقش ها در داخل برنامه وب با استفاده از نظریه امنیتی Spring Configuring Roles Authorization inside web app using Spring Security-Theory

  • پیکربندی مجوز نقش ها در داخل برنامه وب با استفاده از Spring Security-Coding Configuring Roles Authorization inside web app using Spring Security-Coding

  • آزمون مربوط به احراز هویت و مجوز Quiz related to Authentication & Authorization

نوشتن فیلترهای سفارشی خودمان در Spring Security Writing our own Custom Filters in Spring Security

  • مقدمه ای بر فیلترها در امنیت بهار و موارد استفاده نمونه Introduction to Filters in Spring Security and the sample use cases

  • نسخه ی نمایشی فیلترهای داخلی چارچوب امنیتی Spring Demo of Inbuilt Filters of Spring Security framework

  • چگونه فیلتر سفارشی خود را ایجاد کنیم How to create our own custom filter

  • افزودن یک فیلتر سفارشی با استفاده از متد ()adFilterBefore Adding a custom filter using addFilterBefore() method

  • افزودن یک فیلتر سفارشی با استفاده از متد ()adFilterAfter Adding a custom filter using addFilterAfter() method

  • افزودن یک فیلتر سفارشی با استفاده از متد ()adFilterAt Adding a custom filter using addFilterAt() method

  • جزئیات درباره GenericFilterBean و OncePerRequestFilter Details about GenericFilterBean and OncePerRequestFilter

  • آزمون مربوط به فیلترها در امنیت بهار Quiz related to Filters in Spring Security

احراز هویت مبتنی بر توکن با استفاده از JSON Web Token (JWT) Token based Authentication using JSON Web Token (JWT)

  • نسخه ی نمایشی JSESSIONID و مشکلات مربوط به آن Demo of JSESSIONID and issues with it

  • مزایای احراز هویت مبتنی بر توکن Advantages of Token based Authentication

  • غواصی عمیق در مورد توکن های JWT - قسمت 1 Deep dive about JWT Tokens - Part 1

  • غواصی عمیق در مورد توکن های JWT - قسمت 2 Deep dive about JWT Tokens - Part 2

  • ایجاد پیکربندی پروژه برای استفاده از توکن های JWT Making project configuration to use JWT tokens

  • پیکربندی فیلترها برای تولید توکن های JWT Configuring filters to generate the JWT tokens

  • پیکربندی فیلترها برای تأیید اعتبار توکن های JWT Configuring filters to validate JWT tokens

  • ایجاد تغییرات در سمت مشتری برای احراز هویت مبتنی بر توکن JWT Making changes on the client side for JWT token based authentication

  • اعتبارسنجی تغییرات JWT ایجاد شده با اجرای برنامه ها Validating the JWT changes made by running the applications

  • اعتبار سناریوی انقضای توکن JWT Validating the JWT token expiration scenario

  • آزمون مربوط به "احراز هویت مبتنی بر توکن با استفاده از JWT" در امنیت Spring Quiz related to "Token based Authentication using JWT" in Spring Security

امنیت سطح روش Method Level Security

  • مقدمه ای بر امنیت سطح روش در Spring Security Introduction to method level security in Spring Security

  • جزئیات در مورد مجوز فراخوانی روش در امنیت سطح روش Details about method invocation authorization in method level security

  • نمایش امنیت سطح روش با استفاده از @PreAuthorize Demo of method level security using @PreAuthorize

  • نمایش امنیت سطح روش با استفاده از @PostAuthorize Demo of method level security using @PostAuthorize

  • جزئیات درباره مجوز فیلتر در امنیت سطح روش Details about filtering authorization in method level security

  • نسخه ی نمایشی حاشیه نویسی @PreFilter Demo of @PreFilter annotation

  • نسخه ی نمایشی حاشیه نویسی @PostFilter Demo of @PostFilter annotation

  • آزمون مربوط به امنیت سطح روش در امنیت بهار Quiz related to Method level security in Spring Security

شیرجه عمیق OAUTH2 و OpenID Connect Deep dive of OAUTH2 & OpenID Connect

  • مشکلاتی که OAUTH2 سعی در حل آنها دارد Problems that OAUTH2 trying to solve

  • مقدمه ای بر OAUTH2 Introduction to OAUTH2

  • اصطلاحات یا اصطلاحات OAuth2 OAuth2 terminologies or jargons

  • OAuth2 جریان نمونه - تئوری OAuth2 Sample flow - Theory

  • نسخه نمایشی جریان نمونه OAuth2 Demo of OAuth2 Sample flow

  • غواصی عمیق در جریان نوع اعطای کد مجوز در OAUTH2 Deep dive on Authorization code grant type flow in OAUTH2

  • نمایش نوع اعطای کد مجوز در OAUTH2 Demo of Authorization code grant type flow in OAUTH2

  • شیرجه عمیق و نمایش جریان کمک هزینه ضمنی در OAUTH2 Deep dive & Demo of implicit grant flow in OAUTH2

  • بررسی عمیق جریان نوع اعطای رمز عبور در OAUTH2 Deep dive of password grant type flow in OAUTH2

  • غواصی عمیق در جریان نوع اعطای اعتبارنامه مشتری در OAUTH2 Deep dive of client credentials grant type flow in OAUTH2

  • غواصی عمیق در جریان نوع اعطای توکن به‌روزرسانی در OAUTH2 Deep dive of refresh token grant type flow in OAUTH2

  • سرور منبع چگونه نشانه‌های صادر شده توسط سرور Auth را تأیید می‌کند How resource server validates the tokens issued by Auth server

  • مقدمه ای بر OpenID Connect Introduction to OpenID Connect

  • امتحان مربوط به OAUTH2 Quiz related to OAUTH2

پیاده سازی OAUTH2 با استفاده از امنیت فنری Implementing OAUTH2 using spring security

  • ثبت جزئیات سرویس گیرنده با GitHub برای استفاده از سرور OAUTH2 Auth آن Registering the client details with the GitHub to use it's OAUTH2 Auth server

  • ساختن یک برنامه Springboot که از سرور GitHub Auth در طول OAuth2 استفاده می کند Building a springboot application that uses GitHub Auth server during OAuth2

  • اجرای و تأیید برنامه نمونه با استفاده از GitHub OAUTH2 Running and verifying the sample application using GitHub OAUTH2

  • آزمون مربوط به ادغام OAUTH2 با Spring Security Quiz related to OAUTH2 integration with Spring Security

پیاده سازی ورود به سبک OAUTH2 در داخل EazyBank با استفاده از KeyCloak Implementing OAUTH2 style login inside EazyBank using KeyCloak

  • مقدمه ای بر جریان OAUTH2 در برنامه وب EazyBank Introduction to OAUTH2 flow inside EazyBank web App

  • مقدمه ای بر KeyCloak Auth Server Introduction to KeyCloak Auth Server

  • نصب سرور KeyCloak و راه اندازی حساب مدیریت Installation of KeyCloak server & setup admin account

  • یک قلمرو در داخل سرور KeyCloak برای برنامه EazyBank راه اندازی کنید Setup a Realm inside KeyCloak Server for EazyBank App

  • ایجاد اعتبار مشتری در داخل KeyCloak برای فراخوان های ایمن API-API Creating Client Credentials inside KeyCloak for API-API secured invocations

  • راه اندازی سرور منبع EazyBank Setup of EazyBank Resource Server

  • دریافت رمز دسترسی از KeyCloak با استفاده از نوع اعطای اعتبار مشتری Getting Access token from KeyCloak using client credentials grant type

  • ارسال رمز دسترسی به سرور منبع برای پاسخ از طریق Postman Passing Access token to Resource server for response through Postman

  • آشنایی با نوع اعطای کد مجوز برای برنامه EazyBank Understanding Authorization code grant type for EazyBank App

  • ایجاد جزئیات مشتری و کاربر در KeyCloak برای جریان اعطای کد Auth Creating Client and User details inside KeyCloak for Auth code grant flow

  • آزمایش نوع اعطای کد مجوز با استفاده از برنامه Postman Testing Authorization code grant type using Postman App

  • غواصی عمیق در نوع اعطای کد مجوز با PKCE Deep dive on Authorization code grant type with PKCE

  • نسخه نمایشی نوع اعطای کد مجوز با PKCE Demo of Authorization code grant type with PKCE

  • ایجاد جزئیات مشتری رو به رو عمومی در داخل سرور KeyCloak Creating public facing client details inside KeyCloak server

  • پیاده‌سازی کد مجوز PKCE در برنامه Angular UI - قسمت 1 Implementing PKCE Authorization code grant type inside Angular UI App - Part 1

  • پیاده‌سازی کد مجوز PKCE در برنامه Angular UI - قسمت 2 Implementing PKCE Authorization code grant type inside Angular UI App - Part 2

  • آزمایش جریان PKCE در برنامه Eazy Bank Testing PKCE flow inside Eazy Bank application

  • ویژگی های مهم KeyCloak Important features of KeyCloak

  • ادغام ورود به سیستم اجتماعی با کمک سرور KeyCloak Social Login integration with the help of KeyCloak Server

  • آزمون مربوط به راه اندازی OAUTH2 با استفاده از سرور KeyCloak Quiz related to OAUTH2 setup using KeyCloak Server

با تشکر و تبریک Thank You and Congratulations

  • با تشکر و تبریک Thank You and Congratulations

  • سخنرانی های جایزه Bonus lectures

نمایش نظرات

Udemy (یودمی)

یودمی یکی از بزرگ‌ترین پلتفرم‌های آموزشی آنلاین است که به میلیون‌ها کاربر در سراسر جهان امکان دسترسی به دوره‌های متنوع و کاربردی را فراهم می‌کند. این پلتفرم امکان آموزش در زمینه‌های مختلف از فناوری اطلاعات و برنامه‌نویسی گرفته تا زبان‌های خارجی، مدیریت، و هنر را به کاربران ارائه می‌دهد. با استفاده از یودمی، کاربران می‌توانند به صورت انعطاف‌پذیر و بهینه، مهارت‌های جدیدی را یاد بگیرند و خود را برای بازار کار آماده کنند.

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

آموزش Spring Security Zero to Master همراه با JWT,OAUTH2
جزییات دوره
15 hours
133
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
22,892
4.6 از 5
دارد
دارد
دارد
Eazy Bytes
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Eazy Bytes Eazy Bytes

آموزش جاوا، فول استک، اسپرینگ و ORM