عند التعامل مع أنظمة تسجيل الدخول والتصاريح في عالم تطوير البرمجيات، نسمع كثيرًا عن مصطلحي Authentication و Authorization، وهما من المفاهيم الأساسية في مجال Backend Development. ورغم تشابههما، إلا أن لكل منهما وظيفة مختلفة تمامًا. في هذا المقال، سنوضح الفرق بينهما بطريقة سهلة الفهم، مع أمثلة واقعية تساعد في ترسيخ المفهوم.

الفرق بين Authentication و Authorization

عند التعامل مع أنظمة تسجيل الدخول والتصاريح في عالم تطوير البرمجيات، نسمع كثيرًا عن مصطلحي Authentication و Authorization، وهما من المفاهيم الأساسية في مجال Backend Development. ورغم تشابههما، إلا أن لكل منهما وظيفة مختلفة تمامًا.

في هذا المقال، سنوضح الفرق بينهما بطريقة سهلة الفهم، مع أمثلة واقعية تساعد في ترسيخ المفهوم.

أولًا: ما هو Authentication؟

Authentication أو المصادقة هي عملية التحقق من هوية المستخدم. أي التأكد من أن الشخص الذي يحاول الدخول إلى النظام هو بالفعل من يدّعي أنه هو.

مثال واقعي على Authentication

تخيل أنك طالب في الجامعة، وعند دخولك من بوابة الجامعة، يطلب منك موظف الأمن إبراز كارنيه الطالب. إذا كنت تحمل الكارنيه، فسيُسمح لك بالدخول لأنك طالب مسجَّل في الجامعة. أما إذا لم تكن تملك الكارنيه، فسيتم منعك من الدخول.

هذا بالضبط ما يحدث عند تسجيل الدخول إلى موقع إلكتروني، حيث يطلب منك النظام إدخال البريد الإلكتروني وكلمة المرور، ثم يتحقق من بياناتك في قاعدة البيانات، فإذا تطابقت المعلومات، يُسمح لك بالدخول.

إذن، يمكننا تلخيص Authentication بأنه عملية التحقق من الهوية، أي الإجابة عن السؤال: “هل هذا المستخدم مسجَّل لدينا؟”

ثانيًا: ما هو Authorization؟

Authorization أو التفويض هو تحديد الصلاحيات التي يمتلكها المستخدم بعد تسجيل الدخول، أي ماذا يُسمح له بفعله داخل النظام.

مثال واقعي على Authorization

بعدما سمح لك موظف الأمن بدخول الجامعة لأنك طالب، هل يمكنك الدخول إلى أي مكان داخل الحرم الجامعي؟ بالطبع لا! لديك صلاحية دخول المدرجات والفصول الدراسية الخاصة بك فقط، لكن لا يمكنك دخول مكاتب الأساتذة أو غرف الإدارة إلا إذا كان لديك إذن بذلك.

بالمثل، داخل أي نظام برمجي، بعد نجاح عملية Authentication وتحقق النظام من هويتك، يقوم بتحديد ما يمكنك فعله بناءً على الدور والصلاحيات الممنوحة لك:

  • الطالب يمكنه دخول المحاضرات لكنه لا يستطيع الدخول إلى مكاتب الأساتذة.
  • الدكتور يمكنه دخول جميع القاعات والمكاتب، لكنه لا يستطيع الدخول إلى مكتب العميد.
  • العميد لديه صلاحيات موسعة ويمكنه الدخول إلى أي مكان في الجامعة.

إذن، يمكننا تلخيص Authorization بأنه تحديد الصلاحيات بعد التحقق من الهوية، أي الإجابة عن السؤال: “ماذا يُسمح لهذا المستخدم أن يفعل؟”

الفرق الأساسي بين Authentication و Authorization

العنصرAuthentication (المصادقة)Authorization (التفويض)
التعريفالتحقق من هوية المستخدمتحديد الصلاحيات بعد التحقق من الهوية
متى يتم؟يحدث أولًا قبل أي عمليات أخرىيتم بعد التحقق من هوية المستخدم
الهدفالتأكد من أن المستخدم موجود في النظامتحديد ما يُسمح للمستخدم بالقيام به
المثال الواقعيالتحقق من كارنيه الطالب عند دخول الجامعةالسماح بدخول أماكن محددة داخل الجامعة

خلاصة

  • Authentication: هو عملية التحقق من هوية المستخدم.
  • Authorization: هو تحديد ما يُسمح للمستخدم بفعله بعد التحقق من هويته.
  • لا يمكن تنفيذ Authorization دون Authentication.
  • كلاهما ضروريان لحماية الأنظمة من الوصول غير المصرح به وضمان الأمان.

بهذا نكون قد وضحنا الفرق بين المصطلحين بأسلوب بسيط وسلس، دون الدخول في تعقيدات الكود. نأمل أن يكون هذا المقال قد ساعدك في فهم الفرق بين المصادقة و التفويض بشكل واضح. 🚀

عن MesterPerfect

Hello, I am Ahmed Bakr, also known as MesterPerfect. I am passionate about programming, technology, and anything related to it. I also enjoy helping others by sharing the knowledge I have gained through research and exchanging experiences with those who share similar interests. I strive to learn something new every day in my areas of interest, so that I can continually build upon my knowledge and experiences. Currently, I work as a YouTube content creator and as a server manager and web developer. My goal is to assist people of all ages in learning how to use computers and programming languages, and to help them achieve their goals with ease. In the videos I publish, I try to make the information as simple and straightforward as possible. If you have any issues while learning, please do not hesitate to reach out to me, as I am always happy to offer assistance.

تحقق أيضا

معاني أرقام الأخطاء التي نراها على صفحات الويب في الأنترنت

مقدمة عند تصفح الإنترنت، قد تواجهنا بعض الأخطاء التي تظهر كأرقام برمجية تعبر عن مشاكل …

اكتب تعليقًا