دوره ستارگان میکروسرویس(microservices)

تا این دوره را ندیده اید به فکر استخدام در شرکت های بزرگ و کسب درآمد بالا نباشید

تا این دوره را ندیده اید به فکر استخدام در شرکت های بزرگ  و کسب درآمد بالا نباشید

3,960,000 تومان

7,960,000
51% تخفیف


توضیحات دوره ستارگان میکروسرویس(microservices)

 

آیا تا به حال فکر کرده‌اید که چرا برخی تیم‌های توسعه نرم‌افزار به سرعت پیش می‌روند، در حالی‌که دیگران در چرخه‌های بی‌پایانی از توسعه و نگهداری گیر کرده‌اند؟

راز در معماری میکروسرویس است. بیایید در دوره ستارگان میکروسرویس به دنیایی جدید، پویا و قدرتمند وارد شوید تا به جمع برنامه‌نویسانی پیشرو بپیوندید!

 

 

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

 

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


✅چه کسانی باید در این دوره شرکت کنند؟

اگر یک توسعه‌دهنده، معمار نرم‌افزار، یا حتی یک مدیر پروژه هستید که به دنبال راه‌حل‌های جدید و پویا برای مقابله با چالش‌های توسعه نرم‌افزار و عملکرد پروژه‌ها هستید، این دوره برای شما است. دوره  ستارگان میکروسرویس  به شما کلید‌هایی  می‌دهد تا به راحتی از معماری میکروسرویس استفاده و بهرمند شوید. این دوره به ویژه برای کسانی مناسب است که می‌خواهند:

👈سرعت توسعه پروژه‌ها را افزایش دهند.
👈از مزایای مقیاس‌پذیری و استقرار مستقل بهره‌مند شوند.
👈با تکنولوژی‌ها و ابزارهای جدید و پیشرفته آشنا شوند.
👈روش‌های جدیدی برای مدیریت و نظارت بر سرویس‌ها یاد بگیرند.


پس اگر به دنبال تکامل و ارتقاء مهارت‌های خود در زمینه توسعه نرم‌افزار هستید، این دوره را از دست ندهید.


✅چه چیزهایی یاد خواهید گرفت؟

در دوره ستارگان میکروسرویس ، شما در مورد مهم‌ترین جنبه‌ها و تکنیک‌های معماری میکروسرویس آموزش می‌بینید:

  1.  معرفی معماری میکروسرویس: درک پایه‌ای از معماری و مزایا و معایب آن.
  2.  توسعه پروژه‌های میکروسرویس با .NET: یادگیری نحوه‌ی ایجاد و توسعه میکروسرویس با استفاده از تکنولوژی‌های .NET.
  3.  ارتباط بین سرویس‌ها: یادگیری نحوه ایجاد ارتباطات Asynchronous و Synchronous بین سرویس‌ها.
  4.  تست برای میکروسرویس: روش‌ها و تکنیک‌های تست خودکار در معماری میکروسرویس.
  5.  امنیت در میکروسرویس: استراتژی‌های امنیتی مختص معماری میکروسرویس، شامل OAuth و OpenId Connect.
  6. Deployment  در میکروسرویس: یادگیری استفاده از Docker و Azure DevOps برای استقرار میکروسرویس‌ها.
  7. Monitoring  در میکروسرویس: تکنیک‌ها و ابزارها برای مانیتورینگ سرویس‌ها و حفظ سلامت سیستم.
  8. Scaling  در میکروسرویس: راه‌حل‌هایی برای مدیریت مقیاس‌پذیری در معماری میکروسرویس.
  9. Design Patterns and Best Practices : معرفی الگوهای طراحی و بهترین روش‌های توسعه در معماری میکروسرویس.
  10.  و  مباحث تکمیلی و نکات پیشرفته‌ای که به شما کمک می‌کنند تا به عنوان یک توسعه‌دهنده میکروسرویس ارزشمند باشید.

در پایان این دوره، شما توانمندی‌های لازم برای طراحی، توسعه، و مدیریت میکروسرویس‌ها را بدست می‌آورید.

 


✅مزیت دوره ستارگان میکروسرویس 


👈کامل و جامع: این دوره از مقدماتی تا پیشرفته، تمام جنبه‌های معماری میکروسرویس را پوشش می‌دهد.

👈تمرکز بر NET.: اگر توسعه‌دهنده NET. هستید، این دوره به طور خاص شما را در نظر گرفته است.

👈کاربردی و عملی: پروژه‌های واقعی به شما کمک می‌کنند تا مفاهیم را به طور عملی یاد بگیرید.

👈آموزش امنیت و تست: بسیاری از دوره‌ها به موضوعاتی مثل امنیت و تست توجه کمی می‌کنند. در این دوره، این موضوعات با جزئیات آموزش داده می‌شوند.

👈استفاده از تکنولوژی‌های جدید: از Docker، و Azure DevOps تا ELK Stack و Serilog، و... این دوره از بهترین و جدیدترین تکنولوژی‌ها استفاده می‌کند.

در کل، این دوره یک پکیج کامل و جامع برای هر کسی است که می‌خواهد به عنوان یک توسعه‌دهنده میکروسرویس موفق باشد


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

 

نگاهی به دوره ستارگان میکروسرویس(microservices)



مدرس احسان بابائی
مخاطب برنامه‌نویسان
فصل 10‌
مدت زمان 40:10:54
سطح پیشرفته
وضعیت تکمیل شده
تعداد جلسات 173
فرمت

فیلم محافظت‌شده (مشاهده آنلاین در پلیر مخصوص)

قابل مشاهده

در دو سیستم ویندوز یا اندروید

قیمت 3,960,000 تومان

ویدئوهای دوره ستارگان میکروسرویس(microservices)

1
انتخاب زبان برنامه نویسی

00:08:33

2
آشنایی با API Gataway

00:14:29

3
ارتباط بین سرویس ها

00:05:37

4
Message Broker

00:13:14

5
مدییریت خطا در میکروسرویس

00:08:18

6
آشنایی با سرویس دیسکاوری و معرفی ابزارها

00:10:40

7
ابزارهای کش

00:12:27

8
ابزارهای هشدار

00:14:52

1
ارتباط DDD با میکروسرویس

00:05:31

2
در چه پروژه های از DDD استفاده کنیم

00:08:51

3
Strategic Design And Tactical Design

00:03:56

4
آشنایی با Domain و Domain Model

00:03:25

5
آشنایی با Ubiquitous language

00:07:15

6
آشنایی با perspective

00:05:45

7
آشنایی با SubDomain ها

00:04:40

8
انواع Sub Domain

00:06:19

9
آشنایی با Bounded Context

00:05:00

10
آشنایی با Context Mapping

00:11:13

11
Entity و Object آشنایی با

00:10:09

12
آشنایی با Invariant

00:03:25

13
آشنایی با Aggregates

00:08:23

1
معرفی Rest Api

00:20:50

2
آموزش استفاده از GRPC در Asp.Net Core - قسمت اول

00:43:43

3
آموزش استفاده از GRPC در Asp.Net Core - قسمت دوم

00:16:28

4
بررسي پروژه ميكروسرويس

00:07:18

5
پیاده سازی سرویس محصولات

00:24:21

6
پیاده سازی سرویس سبد خرید

00:28:24

7
پیاده سازی سرویس تخفیف

00:24:10

8
پیاده سازی سرویس سفارش

00:14:58

1
معرفی فصل 4

00:05:22

2
بررسی ارتباط Asynchronous و Synchronous

00:09:45

3
نحوه ارتباط بین سرویس ها

00:05:45

4
سیستم های مبتنی بر پیام

00:06:24

5
معرفی RabbitMQ

00:06:32

6
RabbitMQ - ارسال و در یافت پیام در RabbitMQ

00:22:31

7
RabbitMQ - فعال سازی پنل مدیریت RabbitMQ

00:07:25

8
RabbitMQ - آشنایی با Durable - Exclusive -Auto-delete

00:11:30

9
RabbitMQ - Message Acknowledgment

00:12:41

10
RabbitMQ - Round-robin dispatching and Fair Dispatch

00:11:05

11
RabbitMQ - آشنایی با انواع Exchange

00:08:42

12
RabbitMQ - پیاده سازی Direct Exchange

00:09:27

13
RabbitMQ - پیاده سازی Fanout Exchange

00:10:30

14
RabbitMQ - پیاده سازی Topic Exchange

00:07:16

15
RabbitMQ - پیاده سازی Headers Exchange

00:08:25

16
RabbitMQ - مدیریت کاربران RabbitMQ

00:03:38

17
RabbitMQ - معرفی سایت CloudAMQP

00:03:41

18
معرفی پروژه فرانت اند

00:07:58

19
ایجاد ارتباط با میکروسرویس محصولات

00:33:15

20
نمایش محصولات

00:06:33

21
ایجاد ارتباط با میکروسرویس سبد خرید

00:23:17

22
مدیریت سبد خرید

00:23:27

23
استفاده از سرویس تخفیف

00:48:29

24
بررسی ارتباط های Synchronous در پروژه

00:05:24

25
ایجاد ارتباط Synchronous بین سرویس سبد خرید و تخفیف

00:12:02

26
بررسی ارتباط های Asynchronous مورد نیاز برای پروژه

00:05:26

27
افزودن Entity Product به سرویس سبد خرید

00:22:07

28
افزودن Entity Product به سرویس سفارش

00:11:08

29
Checkout Api براي سبد سرويس سبد خريد

00:23:06

30
ارسال سبد خرید در قالب یک message برای RabbitMQ در سرویس سبد خرید

00:29:57

31
دریافت پیام ثبت سفارش از RabbitMQ در سرویس سفارش

00:16:48

32
ثبت سفارش در سرویس سفارش

00:14:10

33
نمایش سفارشات در پروژه frontend

00:17:32

34
معرفی سرویس پرداخت

00:03:16

35
ایجاد سرویس پرداخت با معماری Clean

00:13:31

36
ارسال اطلاعات پرداخت از سرویس سفارش به سرویس پرداخت

00:17:08

37
دریافت پیام اطلاعات پرداخت

00:22:21

38
پیاده سازی درگاه پرداخت

00:19:41

39
ارسال اطلاعات پرداخت به سرویس سفارش

00:16:56

40
پیاده سازی پرداخت در FrontEnd و تکمیل پرداخت

00:20:02

41
ایجاد پروژه پنل ادمین

00:23:21

42
Eventual Consistency : معرفی

00:06:31

43
Eventual Consistency : ارسال پیام بروزرسانی از طرف سرویس محصول

00:14:49

44
Eventual Consistency : دریافت پیام بروزرسانی در سرویس سبد خرید

00:14:40

45
Eventual Consistency : دریافت پیام بروزرسانی در سرویس سفارش

00:11:31

46
نحوه استفاده از Polly

00:33:11

47
معرفی و نصب Eureka

00:10:15

48
معرفی و استفاده از Steeltoe

00:15:11

49
APIGatewat

00:07:16

50
معرفی Ocelot

00:09:04

51
ایجاد پروژه ApiGateway

00:19:39

52
استفاده از Ocelot در پروژه APIGateway

00:18:40

53
پیاده سازی کامل سرویس ها در APIGateway

00:18:50

54
Caching- Rate Limiting- Quality of Service in Ocelot

00:12:17

1
آشنایی با تست خودکار

00:16:36

2
چالش های تست میکروسرویس ها

00:08:19

3
استراتژی های تست

00:03:53

4
آشنایی با هرم تست

00:07:00

5
انواع تست برای میکروسرویس ها

00:21:00

6
پیاده سازی Unit Test

00:32:21

7
پیاده سازی Component Test

00:48:14

8
پیاده سازی Integration Test

00:14:27

9
ContractTest- پیاده سازی سناریو مناسب تست

00:25:39

10
ContractTest- آشنایی با Pact و PactNet

00:07:26

11
ContractTest- پیاده سازی Consumer

00:34:31

12
ContractTest- پیاده سازی Provider

00:19:46

13
End-To-End-Testپیاده سازی

00:32:35

14
Performance Test

00:17:20

1
ایمن سازی برنامه های monolith

00:07:59

2
ایمن سازی پروژه های Microservice

00:07:26

3
آشنایی با OAuth و OpenIdConnect

00:21:39

4
ابزارهاي oauth - OpenIdConne t

00:09:39

5
ایجاد پروژه سرویس کاربران - نصب Duende IdentityServer

00:11:42

6
نصب UI برای Duende IdentityServer

00:07:53

7
دسترسی کلاینت ها به میکروسرویس - قسمت اول

00:25:00

8
دسترسی کلاینت ها به میکروسرویس - قسمت دوم

00:25:56

9
ورود و خروج کاربر از اپلیکیشن

00:29:01

10
اهمیت Audience

00:08:49

11
استفاده از یک توکن برای دسترسی به چند میکروسرویس

00:20:16

12
تعیین سطح دسترسی کلاینت ها با Scope

00:17:18

13
ساخت فایل برای اجرای میکروسرویس ها

00:04:54

14
امنیت در Ocelot

00:15:47

15
دریافت userId کاربر لاگین شده در میکروسرویس ها

00:10:11

16
ایجاد ApiGateway برای Admin

00:04:25

17
لاگین در FrontEnd Admin

00:07:55

18
امنیت در سرویس محصولات

00:05:10

19
امنیت در ApiGateway Admin

00:18:49

20
امنیت در ApiGateway Web

00:03:55

21
Refresh Token در IdentityServer

00:17:24

22
استفاده از AspNetIdentity در IdentityServer

00:24:36

23
تعیین مجوز دسترسی با Role

00:10:24

1
آشنایی با اصطلاحات Deployment

00:14:04

2
چالش های Deployment در معماری مونولیتیک

00:04:59

3
پیش نیازهای یک Deployment موفق برای میکروسریس

00:06:33

4
فرایند های ایزوله برای هر سرویس

00:03:31

5
نیاز به یک روش جدید Deployment در معماری میکروسرویس

00:06:13

6
آشنایی با Bare Metal - VM - Container

00:09:45

7
آشنایی با داکر

00:11:24

8
داکر - آشنایی با Images

00:16:01

9
داکر - آشنایی با Container

00:16:51

10
داکر - ایجاد image از برنامه های Asp.Net Core

00:22:09

11
داکر- استفاده از Volume

00:13:38

12
معرفی سرویس های AzureDevOps

00:03:27

13
نحوه استفاه از Azure Repos

00:19:42

14
نحوه استفاه از Azure Pipelines و ایجاد فرایند CI

00:19:40

15
ایجاد Deployment Groups در Azure DevOps

00:10:19

16
نحوه استفاه از Azure Releases و ایجاد فرایند CD

00:20:42

17
آشنایی با کانتینر ابری

00:04:29

18
استفاده از کانتینر ابری آروان

00:18:02

19
Identity Service Deployment

00:24:21

20
Product Service Deployment

00:10:51

21
Discount Service Deployment

00:12:03

22
Basket Service Deployment

00:14:06

23
Order Service Deployment

00:12:21

24
Payment Service Deployment

00:04:22

25
ApiGateway Web Deployment

00:11:55

26
Frontend Web Deployment

00:15:04

27
راه اندازی Image RabbitMq Official

00:20:17

1
معرفی monitoring

00:08:10

2
ارسال تنظیمات به برنامه

00:08:21

3
پیاده سازی Health Check -بخش اول

00:13:10

4
پیاده سازی Health Check - بخش دوم

00:18:16

5
آشنایی با Logging

00:07:45

6
استفاده از Serilog

00:16:34

7
استفاده از Seq

00:10:50

8
پیاده سازی Distributed Tracing

00:23:01

9
استفاده از Application Metrics-بخش اول

00:20:25

10
استفاده از Application Metrics - بخش دوم

00:11:35

11
آشنایی با ELK

00:08:12

12
نصب ElasticSearch و Kibana

00:15:16

13
Crud در ElasticSearch

00:15:58

14
استفاده از ElasticSearch در Net.

00:21:18

15
ذخیره Log های اپلیکیشن در ElasticSearch

00:15:00

1
آشنایی با Scale

00:13:31

2
آشنایی با Scale Cube

00:06:45

3
میکروسرویس های مقیاس پذیر

00:07:16

4
مقیاس دستی و خودکار در cloud

00:23:43

5
آشنایی با kubernetes - docker swarm

00:08:53

6
نکاتی برای طراحی سرویس مقیاس پذیرتر

00:11:55

1
آشنایی با الگوی Aggregator

00:05:51

2
آشنایی با الگوی Anti-Corruption Layer

00:06:04

3
آشنایی با الگوی Saga

00:10:50

4
الگوی ApiGateway

00:06:04

5
تبدیل برنامه های مونولیتیک به میکروسرویس

00:12:25

ثبت دیدگاه

برای افزودن دیدگاه خود، نیاز است ابتدا وارد حساب کاربری‌تان شوید

دیدگاه کاربران

avatar
فرزام یمینی
28روز ، پیش (خریدار محصول)

درود و خسته نباشید استاد من با آخرین ورژن داتبا درود و احترام استاد گرامی،

بنده با آخرین نسخه داتنت 8 کدنویسی می‌کنم. متأسفانه، پکیج Microsoft.AspNetCore.Identity منسوخ شده است. من با استفاده از آموزش‌های شما، برخی از بخش‌های منسوخ شده را به‌روزرسانی کردم و توانستم به نسخه جدید بروم.

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

در حال حاضر، در حال کار با آموزش 119 هستم، اما با مشکلاتی روبرو شده‌ام.

با تشکر از همراهی و راهنمایی‌های شما.

avatar
پاسخ توسط احسان بابائی
28روز ، پیش

درود بر شما
در این سورس موارد مورد نیاز شما  برای پیاده سازی  identity در دات نت 8  انجام شده است.

پکیج هایی که نیاز دارید نصب نمایید برای جایگزین : Microsoft.AspNetCore.Identity:
 

  • Microsoft.AspNetCore.Identity.EntityFrameworkCore
  • Microsoft.AspNetCore.Identity.UI

کد نویسی تغییرات انچنانی نداشته است. فقط محل پکیج ها تغییر داده شده است.

لینک دانلود سورس نمونه :
https://storage.bugeto.net/source/idnty-sample.zip

موفق باشید.


avatar
فرزام یمینی
1403/02/17 (خریدار محصول)

درود و خسته نباشید آموزشی شماره 94 که PactNet یاد میده لطفاً بروز کنید این روش PactNet.windows deprecate  شده و دستورات mock نداره دیگه 

avatar
پاسخ توسط پشتیبانی باگتو
1403/02/21

سلام
از ورژن 4.5.0 استفاده نمایید نسخه بتا 5 هم به تازگی منتشر شده است.
نسخه های قبلی deprecate   شدند.
https://www.nuget.org/packages/PactNet/

 

https://github.com/pact-foundation/pact-net


avatar
فرزام یمینی
1403/02/16 (خریدار محصول)

بابت API gateway و ocelot  سوال داشتم
سوال اول
میشه اینها Dynamic کرد و از دیتابیس خواند


"Routes": [
 {
   "DownstreamPathTemplate": "/api/Product",
   "DownstreamScheme": "https",
   "DownstreamHostAndPorts": [
     {
       "Host": "localhost",
       "Port": 44304
     },
     {
       "Host": "localhost",
       "Port": 8000
     }
   ],


   "UpstreamPathTemplate": "/api/Product",
   "UpstreamHttpMethod": [ "GET" ],
   "RateLimitOptions": {
     "EnableRateLimiting": true, // فعال یا غیر فعال
     "Period": "2s", // بازه زمانی
     "PeriodTimespan": 5, // مدت زمانی که باید صبر کنیم برای درخواست بعدی
     "Limit": 1 // محدودیت درخواست
   },
   "QoSOptions": {
     "ExceptionsAllowedBeforeBreaking": 3, // بعد از چند خطا مدار را باز کنم؟
     "DurationOfBreak": 5000, // به چه مدت مدار باز باشد؟
     "TimeoutValue": 9000 // اگر هر درخواست بیشتر از تایم زمان برد آن را برگشت بده- منتظر درخواست نمون
   },
   "FileCacheOptions": {
     "TtlSeconds": 15,//زمان کش
     "Region": "Cache"
   }

 },


و از دیتابیس خوند نه از فایل json
سوال دوم
دوم اینکه  اینجا هرچند تا سرویس باشه نباید Render کنه و بره به سرویس دوم اگر بار روش زیاد بود یا قطع بود 

"DownstreamHostAndPorts": [
     {
       "Host": "localhost",
       "Port": 44304
     },
     {
       "Host": "localhost",
       "Port": 8000
     }
   ],


ولی متاسفانه به سرور دوم نرفت من سرور  دوم اوکی بود ولی اول نه به سراغ دوم نرفت و مجبور شدم جای شون عوض کنم
لطفاً بابت این دو تا سوال بگید چیکار میشه کرد یا به ویدیو تون این اضافه کنید

avatar
پاسخ توسط پشتیبانی باگتو
1403/02/21

سلام

پاسخ سوال اول:
بله، ocelot می‌تواند به‌صورت پویا از دیتابیس Routes را بخواند. کافیست تنظیمات را در جداول پایگاه داده ذخیره و سرویسی برای بازیابی این داده‌ها و به‌روزرسانی ocelot ایجاد کنید.

  1. ذخیره‌سازی تنظیمات: تنظیمات مسیرها (مانند DownstreamPathTemplate، UpstreamPathTemplate و سایر گزینه‌ها) را در جداول پایگاه داده ذخیره کنید.
  2. دریافت تنظیمات از دیتابیس: برای اینکه ocelot بتواند مسیرها را به‌صورت پویا لود کند، به یک سرویس نیاز دارید تا داده‌ها را از پایگاه داده خوانده و تنظیمات را در Ocelot به‌روزرسانی کند.
  3. بروزرسانی تنظیمات: می‌توانید تنظیمات ocelot را به بصورت دوره‌ای یا در زمان درخواست‌ها آپدیت کنید تا تغییرات اعمال شده در دیتابیس منعکس شوند.

 

پاسخ سوال دوم:
برای استفاده از سرور دوم در صورت مشکل سرور اول، سیاست بالانس بار (Load Balancing) را بررسی و فعال کنید. از health checks برای تعیین وضعیت سلامت سرورها و هدایت خودکار درخواست‌ها به سرور جایگزین استفاده کنید.
 

"ServiceDiscoveryProvider": {
    "Type": "Eureka"
},
"LoadBalancerOptions": {
    "Type": "LeastConnection",
    "Expiry": 30
},
"DownstreamHostAndPorts": [
    { "Host": "localhost", "Port": 44304 },
    { "Host": "localhost", "Port": 8000 }
]

 


avatar
Nima Rostami
1403/02/14 (خریدار محصول)

سلام

فرض کنید یک وب سرویس از یک سازمان یا شرکت اخذ شده که در قالب rest یا soap میتونه باشه
ما میخواهیم یک پراکسی یا api gateway پیاده سازی کنیم که این سرویس ها رو بتونیم اونجا پراکسی کنیم
یعنی وب سرویس soap یا rest را با پارامترهای ورودی به api gateway معرفی کنیم و خروجی ها رو هم بتونیم مدیریت کنیم. 

هدف نوشتن نرم افزاری هست که بتونه ادرس WSDL رو دریافت کنه و تمامی endpointهای داخل اون رو پراکسی کنه

و همچنین اگر اون وب سرویس‌ فایل cert یا هرگونه گواهینامه که لازم داره برای فراخوانی رو هم لحاظ کرد مانند گواهینامه های امنیتی pfx

 

در این خصوص ابزاری میشناسید کمک کننده باشه یا هر اموزشی باشه ممنون میشم اطلاع بدید.

با تشکر
 

avatar
پاسخ توسط پشتیبانی باگتو
1403/02/21

سلام
برای این منظور، می‌توانید از ابزارهای زیر استفاده کنید:
با این ابزار ها می‌توانید از پلاگین‌های TLS و گواهینامه و  ویژگی‌های امنیتی مانند احراز هویت استفاده کنید.

Kong

WSO2 API Manager

Azure API Management

Ocelot

 
 


avatar
آرمان
1402/11/29 (خریدار محصول)

سلام میشه یک فصل برای کتابخانه MassTransit · MassTransit اختصاص بدید؟

خیلی کتابخانه خوبی است بجای استفاده از کلاینت ربیت ام کیو  درون خودش خیلی ساده سازی کرده ارتباطات رو همچنین از اگوهای message outbox  ، Saga  و... پشتیبانی میکنه درون خودش هم از polly استفاده میکنه

درکل کتابخانه بسیار پرکاربردی هست. همچنین کتابخانه https://opentelemetry.io/ برای metrics log و trace هم خیلی خوب هست

بنظرم استفاده از این دو کتابخانه باعث جلوگیری استفاده بیش از حد کتابخانه های متعدد میشود.

با سپاس


avatar
علی
1402/06/28 (خریدار محصول)

سلام خوبین ؟ یک سوال فنی دارم ممنون میشم راهنمایی کنید

سوال بنده این است من یک سرویس دارم که انبار هستش و ایتم هایی در ان ثبت میشه که موجودی مرتب در حال تغییر هستش و سرویس دیگر من میخواد از این ایتم ها به عنوان base info استفاده کننده و بروز بودن لحظه ای موجودی ها خیلی اهمیت داره حالا اگر سرویس انبار موجودی دیتابیسش رو‌ بروز کنه مثلا افزایش بده و به هر دلیل موفق نشد روی باس مسیجش رو‌ ارسال کنه و سرویس انبار قطع بشه چجوری میشه این مساله رو مدیریت کرد. خیلی لطف میکنید ‌بنده رو یه کوچولو راهنمایی کنید جناب بابایی عزیز

avatar
پاسخ توسط احسان بابائی
1402/07/02

سلام
برای موضوعی که مطرح کردید راهکارهای مختلفی وجود دارد:

Eventual Consistency و Event Sourcing

یکی از روش‌ها استفاده از مدل Eventual Consistency است که به این معنا است که پس از مدتی، تمام سرویس‌ها به یک داده یکسان می‌رسند. همچنین می‌توانید از الگوی Event Sourcing استفاده کنید که در آن تمام تغییرات به صورت رویداد در دیتابیس ذخیره می‌شوند.

Outbox Pattern
روش دیگری که می‌توانید برای حل این مشکل استفاده کنید، الگوی Outbox است. در این الگو، هر تغییری که باید در دیتابیس اعمال شود به همراه یک پیام به یک جدول Outbox در همان تراکنش دیتابیسی اضافه می‌شود. سپس یک پروسه‌ی جانبی (side-process) پیام‌ها را از جدول Outbox برداشته و به Message Bus ارسال می‌کند.


Retry Mechanism
برای اطمینان از ارسال موفق پیام به Message Bus، می‌توانید از مکانیزم‌های تلاش مجدد (Retry Mechanism) استفاده کنید.


Two-Phase Commit
الگوی Two-Phase Commit نیز یک راه حل دیگر است، اما به دلیل پیچیدگی‌ها و مشکلات عملکردی کمتر مورد استفاده قرار می‌گیرد.

با توجه به نیازها و محدودیت‌های پروژه شما، می‌توانید یکی از این راهکارها یا ترکیبی از آن‌ها را انتخاب کنید.

موفق باشید.


avatar
Farzad Mohamadi
1402/03/07 (خریدار محصول)

سلام وقت بخیر
ما برای یه پروژه که مالی هستش میتونیم از duendo که برای پیاده سازی امنیت معرفی میکنین استفاده کنیم؟
بعدا مشکلی پیش نمیاد؟

 

avatar
پاسخ توسط احسان بابائی
1402/03/07

سلام

اگر لایسنس خریداری کنید که قطعا برای این موضوع مشکلی پیش نمیاد.

درضمن اطلاعات شرکت و پروژه خود را برای پشتیبانی سایت identity server ارسال نمائید 

احتمالا بتونید تخفیفاتی برای لایسنس دریافت کنید.


avatar
MT
1402/02/15 (خریدار محصول)

با سلام
آیا راه حلی وجود داره که بتوان ApiResourceClaims را از DbContext حذف کرد. من راه حل های مختلفی امتحان کردم و حتی dbcontext مربوط به config را هم custom زدم اما بازم موقع کال کردن سرویس دریافت token به خطا میخورم
ممنون میشم راهنمایی بفرمایید

avatar
پاسخ توسط پشتیبانی باگتو
1402/02/18

سلام! از آنجا که شما در حال استفاده از IdentityServer4 هستید، برای حذف ApiResourceClaims از DbContext، می‌توانید از روش‌های زیر استفاده کنید:

ابتدا، از DbContext شما، می‌توانید مدل ApiResourceClaim را حذف کنید. برای این کار، کلاس DbContext شما (به عنوان مثال، AppDbContext) را باز کرده و خط مربوط به DbSet<ApiResourceClaim> را حذف کنید.

بعد از حذف مدل ApiResourceClaim، شما باید مایگریشن جدیدی ایجاد کنید تا تغییرات به دیتابیس اعمال شود. برای این کار، در کنسول نوع پروژه اصلی، دستور زیر را اجرا کنید:

 

dotnet ef migrations add RemoveApiResourceClaims

 

  1. در مرحله بعد، مایگریشن ایجاد شده را به دیتابیس اعمال کنید. برای این کار، دستور زیر را اجرا کنید:
dotnet ef database update

برای اطمینان از عملکرد صحیح برنامه بعد از انجام مراحل بالا، شما باید از اینکه در کدهای برنامه، به جای استفاده از ApiResourceClaims، از مدل‌های جایگزین استفاده کنید.

در نهایت، پروژه خود را دوباره اجرا کنید و بررسی کنید که آیا مشکل حل شده است.

در صورتی که باز هم به مشکل برخوردید، لطفاً اطلاعات بیشتری در مورد خطا و جزئیات پیکربندی DbContext و IdentityServer4 در قسمت باگ سایت ارسال نمایید تا بهتر بتوانیم به شما کمک کنم.


avatar
parsa x
1402/02/06

سلام

ضمنا تقدیر و تشکر و خسته نباشید . بنده لایسنس دوره را دریافت کردم ولی سورس کد دوره در قسمت SptPlayer 

وجود ندارد

خواهشمندم سورس کد دوره را هم اضافه نمایید.

و اینکه در دوره های دیگر بر روی قسمتهایی که در حال توضیح بود قابلیت Zoom  وجو داشت و با گوشی موبایل به راحتی همه چیز قابل مشاهده بود

ولی در این دوره این قابلیت وجود ندارد و به سختی میشود بر روی صفحه موبایل پیگیر اتفاقات مخصوصا در محیط ویژوال استودیو بود

باز هم تشکر

avatar
پاسخ توسط پشتیبانی باگتو
1402/02/06

سلام ،

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

با تشکر


avatar
مونا ایرانی
1401/11/29 (خریدار محصول)

سلام وقتتون بخیر

من برنامه spotplayer  رو از از روی گوشی حذف کردم و دوباره نصب کردم اما الان تعداد دفعات استفاده از لایسنس رو غیرمجاز اعلام می کنه

لازم به ذکر هست یک لایسنس رو روی سیستم دارم و دومی روی گوشی بود

لطفا راهنمایی بفرمایید

avatar
پاسخ توسط احسان بابائی
1401/11/29

سلام

دستگاه جدید برای شما اضافه شد.


avatar
محمد
1401/06/15

سلام و عرض ادب تو این دوره از cqrs و orm dapper استفاده شده و ddd را کامل آموزش دادید یا فقط اشاره بهش شده 

avatar
پاسخ توسط روشن احمدی
1401/06/16

 سلام وقتتون بخیر
 در این دوره آشنای با ddd  رو آموزش دادیم و موارد و جزییات رو اشاره نکردیم چون خودش به یک دوره مجزا نیاز داره .
 و در دوره ستارگان asp.net core   مبحث dapper  رو آموزش دادیم.

avatar
پاسخ توسط روشن احمدی
1401/06/16


avatar
حمیدرضا
1401/05/20

سلام وقت بخیر

تخفیف نمیگذارید روی دوره؟

بتونیم دوره رو بگیریم

avatar
پاسخ توسط روشن احمدی
1401/05/21

سلام روزتون بخیر

شهریور ماه روی دوره تخفیف خواهیم گذاشت

برای اطلاع از تخفیفات پیج اینستاگرام باگتو رو دنبال کنید

bugeto_net


avatar
حسین
1401/05/15

کاش چندتا از ویدئو ها رو فری بذارید لحن و سبک آموزش مدرس رو ببینیم بعد تصمیم بگیریم این دوره بخریم یا نه

avatar
پاسخ توسط روشن احمدی
1401/05/18

سلام وقت بخیر

دوره رایگان میکروسرویس  رو میتونید ببینید و در کانال تلگرام هم چند قسمت از دوره ستارگان میکرویرویس رو قرار دادیم که میتونید با نحوه آموزش دوره آشنا بشین


avatar
محمد
1401/03/19

سلام و عرض ادب دوره در حال برگزاری ؟ هنوز یا تموم شده 

avatar
پاسخ توسط احسان بابائی
1401/03/19

سلام

این دوره تکمیل شده است


avatar
sh
1401/02/25 (خریدار محصول)

سلام ، روزتون بخیر

من داکر را نصب کردم ، ولی وقتی دستور نصب eureka را وارد میکنم ارور میده (vpn  هم وصل بوده)

error during connect: This error may indicate that the docker daemon is not running.: Post "http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/images/create?fromImage=steeltoeoss%2Feureka-server&tag=latest": open //./pipe/docker_engine: The system cannot find the file specified.

avatar
پاسخ توسط پشتیبانی باگتو
1401/02/31

سلام

مثل این که docker daemon  اجرا نیست


avatar
.
1401/02/22

سلام ایا در این دوره به مباحث distributed transaction پرداختید و با رویه ddd پیاده شده

avatar
پاسخ توسط پشتیبانی باگتو
1401/02/31

سلام

الگوی saga معرفی شده است و ابزارهای پیاده سازی هم در فصل چهارم آموزش داده شده است


avatar
محمد عباسی
1401/02/19 (خریدار محصول)

با سلام و احترام

با تشکر از آموزش خوب و مفید شما
سوالی داشتم خدمتتون
با توجه به کاربردی بودن کوبرنتیز در معماری میکروسروس
آیا آموزش کوبرنتیز در تکمیل ستارگان میکرو سرویس خواهید داشت؟

avatar
پاسخ توسط پشتیبانی باگتو
1401/02/31

سلام

در این دوره داکر آموزش داده شده است

اما کوبرنیتیز خیر.

در آینده هم به این دوره اضافه نخواهد شد


avatar
nazgol mmm
1401/02/19 (خریدار محصول)

سلام 

لطفا سورس پروژه را بطور یکجا قرار دهید که بتوانیم خودمان ران کنیم

ممنون

avatar
پاسخ توسط پشتیبانی باگتو
1401/02/31

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


avatar
nazgol mmm
1401/02/12 (خریدار محصول)

سلام وقت بخیر

service discovery  در فصل 4  را آموزش نمیدهید؟؟

چون فقط طریقه نصب ان را اموزش دادید

avatar
پاسخ توسط پشتیبانی باگتو
1401/02/31

سلام

فقط باید از Restapi های آن در برنامه خود برای ثبت ادرس برنامه استاده کنیم

یک ویدئو آپدیت اضافه می شود


avatar
meissam heidari
1401/02/11 (خریدار محصول)

سلام

سورس پیوست قسمت 162 برای دانلود خطای 403 می دهد

avatar
پاسخ توسط روشن احمدی
1401/02/11

avatar
پاسخ توسط روشن احمدی
1401/02/11

سلام روزتون بخیر مشکلش برطرف شد میتونید الان دانلود کنید


avatar
محمد
1401/02/11 (خریدار محصول)

سلام

مبحث eureka رو گفتید در scaling توضیح میدید

 
 

eurekaeuraka

 


avatar
nazgol mmm
1401/02/11 (خریدار محصول)

سلام روز خوش

امکانش هست سورس پروژه را در انتهای هرفصل بگذارید چون من الان تمام سرویسها و فرانت را یکجا میخواهم بخونم ولی نیس


avatar
nazgol mmm
1401/02/06 (خریدار محصول)

سلام وقت بخیر

پورت 5672 هنگام اتصال به Rabbit MQ  از کجا اومد؟؟؟ جلسه 6 از فصل 4

avatar
پاسخ توسط پشتیبانی باگتو
1401/02/06

سلام معمولا هر سرویسی که نصب می کنیم برای ارتباط با آن نیاز به یک پورت داریم. سرویس RabbitMQ هم این پرت را ارائه کرده است


avatar
nazgol mmm
1401/01/10 (خریدار محصول)

سلام ویدیو هارو باید انلاین دید؟

دسترسی به نت نداشتیم چیکار کنیم؟!!!!!!!!!!!!!

avatar
پاسخ توسط احسان بابائی
1401/01/10

سلام

نیازی به آنلاین بودن نیست.

یک بار توسط نرم افزار دانلود می شوند و بعد بدونه نیاز به اینترنت هم می توانید مشاهده نمایید.


avatar
Hossein Sharifipour
1401/01/08 (خریدار محصول)

با سلام

وقتی از معماری میکرو سرویس استفاده می کنیم و اگر یک سرویس روی چند ماشین نصب کنیم  و اگر بخواهم گزارش بگیرم از چه راه حلی اسفتاده کنم  یا باید روی همه دیتابیس ها یک گوئری یکسان را اجرا کنم

avatar
پاسخ توسط احسان بابائی
1401/01/10

سلام

معمولا زمانی که یک سرویس را روی چندین کانتینر اجرا می کنیم، همه این سرویس ها از یک دیتابیس استفاده می کنند.

برای مقیاس دیتابیس هم می توانید از CQRS و Always On استفاده نمایید


avatar
احسان داوری
1401/01/08

در این دوره برای میکرو سرویس ها از چه معماری ای استفاده میشه؟

avatar
پاسخ توسط احسان بابائی
1401/01/10

سلام

از معماری All in one و Clean


avatar
محمد
1400/12/27 (خریدار محصول)

سلام

بحث لاگین با ریزور هست اگر بخواهیم با webapi پیاده کنیم که مثلا اپ هم بتونه استفاده کنه چه تبدیلات و کارهایی باید انجام بدیم؟

avatar
پاسخ توسط احسان بابائی
1400/12/27

سلام لطفا با دقت بيشتري فصل امنيت را مشاهده نماييد. براي احراز هويت روشهاي مختلفي داريم كه در دوره معرفي شدند


avatar
محمد
1400/12/25 (خریدار محصول)

سلام

تو ایدنتیتی QuickUI که استفاده کردید ریزور پیج هست.

https://github.com/duendesoftware/IdentityServer.Quickstart.UI

برای اینکه مدل ویو کنترلر دار باشه. لینک زیر که برای ایدنتیتی رسمی هست QuickUI کنترلر دار رو داره

https://github.com/IdentityServer/IdentityServer4.Quickstart.UI

تشکر

 

avatar
پاسخ توسط احسان بابائی
1400/12/25

لینکی که فرستاده اید برای ورژن قبلی Identityserve4  می باشد.


avatar
محمد
1400/12/23 (خریدار محصول)

سلام. در خصوص ثبت نام کاربر تو ایدنتیتی چیزی نگفتید ! آیاد متد مخصوص ثبت نام کار بر و ارسال پیامک فعال سازی و ... وجود داره یا ما باید خودمون بسازیم؟ لطفا یه قسمت اپدیت برای ایدنتیتی بدید این موارد هم بگید. این مبحث کامل نیست

avatar
پاسخ توسط احسان بابائی
1400/12/25

سلام

identity حدود 8 ساعت آموزش نیاز داره و جزو سرفصل های میکروسرویس نیست. و در این دوره فقط مباحث مربوط به میکروسرویس آموزش داده می شود.

نحوه استفاده از identity را در identityServer آموزش داریم.

برای  یادگیری identity می توانید از دوره زیر استفاده نمایید.

آموزش Identity در Asp.Net Core


avatar
مهدی مهدوی
1400/12/22 (خریدار محصول)

سلام لطفا لینک دانلود کامل بزارید تا دالنود کنیم ممنون

avatar
پاسخ توسط احسان بابائی
1400/12/25

سلام

این دوره را می توانید از اسپات پلیر مشاهده نمایید و قابل دانلود نمی باشد.

فصل های ابتدایی هم به اسپات اضافه می شوند


avatar
علی زارعی
1400/12/20 (خریدار محصول)

سلام وقتتون خبر

چرا فصل های اول توی 

اسپات پلیر نیست!!!

آیا اونجا اضافه نمیشه؟

avatar
پاسخ توسط احسان بابائی
1400/12/20

سلام

5 فصل اول را می توانید از طریق سایت دانلود نمایید. بر روی نام قسمت کلیک کنید دانلود می شود.

5 فصل اول هم به اسپات اضافه می شوند


avatar
حسین عاشوری
1400/12/18 (خریدار محصول)

سلام وقتتون به خیر
در مبحث Context Mapping از بخش DDD ،  دو مورد ACL و Bubble Context  معرفی شد که تفاوت بین کارکرد اون ها رو متوحه نمی شم.
آیا Bubble Context همان کار ACL رو انجام می دهد + انحام کارهای دیگر برای بهینه شدن خروجی از سرویس های قدیمی یا اینکه وقتی سرویس قدیمی داریم، Bubble Context رو به همراه ACL به کار می بریم و عملکرد و کار متفاوتی انجام می دهند؟
ممنون


avatar
محمد
1400/12/18 (خریدار محصول)

سلام

این role رو فقط به اسکوپ gateway اضافه کنیم کافیه یا به بقیه اسکوپ های داخل عکس هم باید اضافه کنیم؟

تشکر


avatar
محمد
1400/12/18 (خریدار محصول)

سلام

تو ایدنتیتی دقیقا این قسمت وظیفه اش چیه؟ توضیح ندادید.


من به جای "12345A@aa" مثلا "123" میزارم موقع اجرا خطای زیر رو میده!


The INSERT statement conflicted with the FOREIGN KEY constraint "FK_AspNetUserRoles_AspNetUsers_UserId". The conflict occurred in database "EShop.Identity", table "dbo.AspNetUsers", column 'Id'.


ممنون


avatar
nima
1400/12/17

سلام

در مورد sync و async آموزش شما و خیلی آموزش های دیگه رو دیدم ولی اینکه کدومو کجا استفاده کنیم یه کم مشکله

الان شما مثلا getproduct یا payment و خیلی متد ها و get های دیگه رو asynce زدید... خب الان تا محصول رو نخونه یا پرداخت انجام نشه اصلا نباید کاربر بتونه کار دیگه بکنه پس اکثرا باید sync باشه چون یه جورایی تا کاری انجام نشه نباید بره محل بعد مثلا تایید پرداخت یا ...
لطفا توضیح کامل با چندتا مثال بزنید متوجه بشیم
ممنون


avatar
محمد
1400/12/17 (خریدار محصول)

سلام

من پنل ادمین و گت وی ادمین رو پیاده کردم و چیزی که فهمیدم این بود دقیقا مثل پنل کاربر و گت وی کاربر هست و هر کدوم توکن ها و ... خودشونو رو دارن و هیچ فرقی بینشون نیست. اگر اشتباه میگم بفرمایید

 

و لطفا هر روز نظرات رو چک کنید اگر مشکل داشتیم زود حل شه. تشکر

avatar
پاسخ توسط احسان بابائی
1400/12/17

سلام

بله دقیقا.

و هدف از جدا سازی اینه که یک یک ApiGateway بزرگ نداشته باشیم که تغییرات در آن بر روی همه فرانت اند ها  تاثیر بزاره.


avatar
محمد
1400/12/16 (خریدار محصول)

سلام

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

ممنون


avatar
saman
1400/12/16

سلام

مشکل 403 حل شد .مشکل از اسکوپ بود . تشکر


avatar
saman
1400/12/16

سلام مجدد

در مورد خطای 403 همه چیزو چک کردم درست بود و داشت کار میکرد و بدون تغییر یکدفعه اینجوری شده!!!
لطفا یه راهنمیی، کمکی بکنید

avatar
پاسخ توسط احسان بابائی
1400/12/16

شما باید کل مسیر رو چک کنید.

توکنی که دریافت می کنید از identityService ، بررسی کنید ببینم به چه سرویس هایی دسترسی دارد؟

 Rolse و Audience  ها را چک کنید.

و بعد هم Apigateway  و هم سرویس مقصد را چک کنید ببینم Audunce ها مورد نیازاین سرویس ها در توکن شما وجود دارد؟


avatar
saman
1400/12/16 (خریدار محصول)

سلام

من قسمت ایدنتتی و آتورایز رو درست پیاده کردم و داشت کار میکرد ولی بعدش یکدفعه تو سرویس فرانت که میخواد رکوئست بفرسته خطای  403 forbidden برمیگردونه!!!

اشکا لاز کجا میتونه باشه؟

تشکر
 

avatar
پاسخ توسط احسان بابائی
1400/12/16

سلام

خطای 403 یعنی این که شما لاگین شده اید اما مجوز دسترسی به این بخشی که Request داده اید را ندارید.

احتمالا Role یا policy مورد نیاز آن اکشن برای کاربر لاگین شده موجود نمی باشد


avatar
محمد
1400/12/15 (خریدار محصول)

سلام
اقای بابایی چرا نگفتید این کلمه ها یونیک هستن؟!!؟توشون آندرلاین گذاشته بودم فکر کردم کلمه دلخواهه 10 روزه بال بال میزنم خطا رفع نمیشه

 

avatar
پاسخ توسط احسان بابائی
1400/12/15

سلام

از نام خود این لغات معلومه که یونیک هستند.

داریم get انجام می دیم.


avatar
reza
1400/12/14

سلام

من به جای رست شارپ از httpclient استفاده کردم

HttpContextAccessor رو چجوری تو httpclient  اینجکت کنم

 services.AddHttpClient<IProductService, ProductService>(client =>
                client.BaseAddress = new Uri(apiGatewayUri))

 
avatar
پاسخ توسط احسان بابائی
1400/12/15

سلام

سورس کدهای فصل 6 رو ببینید از httpclient استفاده کرده ایم


avatar
علی
1400/12/11

با سلام و خسته نباشید

من جلسه آموزش Eureka رو دیدم طبق آموزش پیش رفتم داکر دسکتاپ آوردم بالا و اورکا رو نصب کردم

پنلش هم بالا اومد روی یه پروژه تستی اجراش کردم ولی آدرسهای اینستنسی که برای ایجاد میکنم نه info نه health بالا نمیاد

لطفا راهنماییم کنید حتی کانفیگ هم از پروژه تستی برداشتم

 


avatar
محمد
1400/12/11 (خریدار محصول)

سلام

چرا کلاینت سکرت رو توی آیدنتیتی هش کردید ولی داخل فرانت هش نکردید؟

 ClientSecrets={new Secret ("123456".Sha256()) }

  options.ClientSecret = "123456"

avatar
پاسخ توسط احسان بابائی
1400/12/11

سلام

چون هش یک فرایند یک طرفه است

و معمولا پسورد در سمت سرور هش می شود و در سمت کلاینت دقیقا همان پسورد را باید ارسال کنیم.

شما در فرم های لاگین پسورد هش شده را که وارد نمی کنید؟  اینجا هم به همین صورته

در identity پسورد هش می شود و در کلاینت باید پسورد اصلی را ارسال کنیم که در سمت سرور پسورد هش بشود و با همان پسورد هش شده مقایشه شود.


avatar
ناصر
1400/12/11 (خریدار محصول)

سلام

نام توکن تو کدوم پروژه ها باید هم نام باشه؟

من اینجوری زدم :

فرانت :  "TokenName": "access.token"

گت وی :  "TokenName": "access.token"

سرویس مثلا سفارش :  "TokenName": "order.token"

avatar
پاسخ توسط احسان بابائی
1400/12/11

سلام

منظورتون کجاست؟ نمونه کدی که در ویدئو نوشتم رو ارسال کنید


avatar
رضا ساغری
1400/12/11 (خریدار محصول)

اصلیاش اینان :

8 تا سیستم جامع داریم مثل سامانه servicedesk و سامانه cmms و سامانه آمار ، سامانه مدیریت پروژه و قراردادها و ... که با معماری کلین و core و بصورت مونولیکتیک هستند و پروژه های بسیار بزرگی هستند.

یک سیستم جامع هم داریم که میکرو یرویس هست و العان خودش یک سیستم احراز هویت شبیه همین موردی که شما توضیح دادید با identityserver4 داره

بیش از 40 تا سرویس هم داریم که در واقه هرکدومشون یم restApi هستند که سرویس های مختلفی رو به مشتریا ارائه میدن.

مشکل اصلی هم سر همون 8 تا سیستم مونولیکتیکون هست چون بحث احراز هویت و امنیت تو هرکدومشون بخاطر مسائل امنیتی بسیار پیچیده هست

 


avatar
رضا ساغری
1400/12/11 (خریدار محصول)

درود و سپاس از پاسخ شما.

بله فرمایش شما در زمانیکه بخواهیم از ابتدا یک سرویس رو توسعه بدیم یا زمانیکه تعداد سرویس های موجود کم باشه صحیح است.

اما همانطور که عرض کردم در سناریو ما بیش از 50 سامانه و سرویس  داریم که تکنولوژی های مختلف دارند و برخی از اونها بدلیل پیاده سازی احراز هویت در سطح داده و رکورد سیستم بسیار پیچیده ای برای پرمیژن ها دارند و عملا غیر ممکن است بحت کنترل دسترسی رو در اون سامانه و سرویس ها رو بازنویسی کنیم.

تنها راحی که به نظر من رسید اینه که یک سرویس احراز هویت واحد ایجاد کنیم که تمام سرویس ها در اون Authenticate بشن و این سرویس تنها authorization رو برای دسترسی به سرویس چک کنه و بعد از احراز هویت کاربر در این سرویس در مواردی که لازم است مجدد در خود اون سرویس هم احراز هویت کنه

من برای اینکار با استفاده از OAuth و IdentityServer دارم پروژه رو مینویسم. البته چالش بسیار دارم و کمی گیج هستم هنوز. برای همین عرض کردم اگر راه حلی یا سلوشنی که از قبل تجربه شده براش میشناسید معرفی و راهنمایی بفرمایید.

سپاس فراوان

avatar
پاسخ توسط احسان بابائی
1400/12/11

بله بازنویسی این پروزه کار سختیه، البته اگر از استاندارد ها استفاده شده است کار بازنویسی راحتر انجام می شود

اما در نظر بگیرید برای هر تک Request که نیازه با دهها میکروسرویس در ارتباط باشه باید دها بار فرایند احراز هویت را انجام دهید. و آن هم به شکل های مختلفی

پروژه موجود میکروسرویسه یا SOA ؟

 


avatar
رضا
1400/12/11 (خریدار محصول)

سلام

بحث ایدنتیتی با گت وی که پیاده کردید ترتیبش چجوریه.
فرانت به گت وی درخواست میده و گت وی به ایدنتیتی بعدش میره سرویس ها یا یا فرانت به ایدنتیتی درخواست میده بعد به گت وی و در نهایت سرویس ها؟

ممنون

avatar
پاسخ توسط احسان بابائی
1400/12/11

سلام

Frontend به identityService درخواست ارسال می کند و یک توکن دریافت می کند.

و بعد آن توکن از طرف فرانت اند برای ApiGateway ارسال می شود و از Apigateway هم برای سرویس ها ارسال می شود. و در سرویس ها توکن بررسی می شود اگر معتبر باشد خدمات را ارائه می کند در غیر اینصورت 401 و یا 403 دریافت می کنید


avatar
محمد
1400/12/11 (خریدار محصول)

سلام

من دقیقا عین شما رفتم جلو چندبار هم با فیلم چک کردم ولی یه خطایی خوردم هرکاری میکنم حل نمیشه. لطفا راهنمایی کنید