المستخدمون وتسجيل الدخول
سجل المستخدم هو نقطة التقاء الهوية والتحقق والاستثناءات الشخصية من الصلاحيات. تغطي هذه الصفحة إنشاء المستخدمين، وتجاوزات الصلاحيات على مستوى المستخدم، وكل ما يتعلق بالدخول: كلمات السر، LDAP، التحقق بخطوتين، والتحكم في الجلسات.
المسار: إدارة النظام > الصلاحيات > مستخدم (Administration > Security > User)

مكونات سجل المستخدم
أهم ما في الصفحة الرئيسية:
- كود المستخدم (Login ID) — الاسم الذي يُكتب عند الدخول. إذا تُرك فارغاً أخذ قيمة كود السجل. ويجب أن يكون فريداً على مستوى النظام.
- باسورد (Password) — تُخزن مشفرة بدالة هاش (انظر كلمات السر أدناه).
- الموظف (Employee) — يربط المستخدم بسجل الموظف في شؤون العاملين؛ إلزامي لمستخدمي نقاط البيع، وهو مصدر بيانات التواصل وسلوكيات كثيرة. وعند ضبطه يُستخدم تلقائياً كذمة متعلقة بالمستخدم إن لم تُحدد.
- نوع الذمة المتعلق / الذمة المتعلقة (Related Entity) — من هو هذا المستخدم في لغة الأعمال: موظف، عميل، مورد، مندوب بيع... هذا المرجع هو وقود الفلاتر الإضافية ("أرني سجلاتي فقط") — راجع الصلاحيات على مستوى السجلات.
- الصلاحيات (Security Profile) — قالب الدور الذي يرثه هذا المستخدم. راجع ملف الصلاحيات.
- الإعدادات الافتراضية — الشركة الافتراضية، القائمة الافتراضية، الاختصارات، اللغة المفضلة، اللوحة، نسق المطالعة، إضافة إلى تفضيلات شخصية كالخطوط وأصوات التنبيهات.
محددات المستخدم ومحددات الدخول
كأي ملف رئيسي، يحمل سجل المستخدم نفسه المحددات الخمسة (الشركة، الفرع، الإدارة، القطاع، المجموعة التحليلية) — وهي تعرّف أوسع نطاق يمكن للمستخدم العمل فيه. أما مجموعة محددات الدخول وجدول محددات الدخول البديلة فيعرّفان ما يعمل المستخدم بصفته في كل جلسة. القصة الكاملة في الصلاحيات على مستوى السجلات.
طلبات إضافة المستخدمين
ليس لازمًا أن يُنشأ المستخدم يدويًا. فـالأساسيات ← المستندات ← طلب إضافة مستخدم مستند يطلب مستخدمًا، فيصير الطلب قابلًا للمراجعة والموافقة والحفظ بدلًا من أن يأتي في مكالمة هاتفية — وهي الطريقة التي يحصل بها عميل أو مورد على دخول للبوابة.
ويحمل الطلب ما يعرفه طالبه فقط: كود المستخدم (Login Id)، والاسم العربي والإنجليزي، والبريد الإلكتروني ورقم الهاتف، واللغة المفضلة، والمحددات التي يعمل فيها المستخدم، ونوع المستخدم المضاف: عميل أو مورد أو مقاول أو موظف.
وضغط زر إضافة مستخدم في الطلب ينشئ المستخدم الحقيقي، وتُحسم عندها ثلاثة أمور:
- كود المستخدم الجديد يأتي من مجموعة تكويد المستخدم (
termConfig.userCodingGroup) في توجيه الطلب، فتُرقَّم المستخدمون المطلوبون بالقواعد نفسها التي يُرقَّم بها كل شيء آخر. - والصلاحيات (
termConfig.securityProfiles.securityProfile) تُستخرج من جدول ملفات الصلاحيات (termConfig.securityProfiles) في التوجيه بمطابقة عمود نوع المستخدم (termConfig.securityProfiles.addedUserType) — وهكذا ينتهي «دخول عميل» و«دخول مقاول» بصلاحيات مختلفة دون أن يختار أحد ملف صلاحيات بيده. وإن لم يكن للنوع سطر في ذلك الجدول أُنشئ المستخدم بلا صلاحيات أصلًا. - وكود الدخول والأسماء والبريد والمحددات تُنسخ كما هي، ويُكتب المستخدم المُنشأ في حقل المستخدم المُنشأ بالطلب، فتستطيع دائمًا الانتقال من الطلب إلى المستخدم الذي أنشأه.
ورفضان يستحقان أن تعرفهما:
| الرسالة | لماذا |
|---|---|
| User login id {0} is already existing | مستخدم معتمد يستعمل كود الدخول هذا بالفعل. فأكواد الدخول فريدة على مستوى النظام، والمسودات لا تُحسب. |
| «لا توجد لديك الصلاحية {1} على النوع {0}» — وترتفع هنا بـ Commit على النوع User | ضغط إضافة مستخدم يحتاج صلاحية حفظ (Commit) على شاشة المستخدم نفسها. فالقدرة على حفظ الطلب لا تكفي — الطلب طلب لا صلاحية. |
ورسالة User login id {0} is already existing ليس لها نص عربي في المنتج، فتظهر بالإنجليزية على الشاشات العربية أيضاً.
والشاشات الموازية لتعديل بيانات جهةٍ قائمة — طلب تعديل بيانات عميل وأخواه للمورد والمقاول — موصوفة في الطلبات المرفوعة من البوابة.
تجاوزات الصلاحيات على مستوى المستخدم
تكرر شاشة المستخدم جداول الصلاحيات التي تعرفها من ملف الصلاحيات — وسطور المستخدم تتقدم دائماً على سطور الملف عند تطابق النطاق:

- صفحة صلاحيات المستخدم — الصلاحيات الأساسية والصلاحيات المخصصة، وجدول اعتبار مستخدمين كمنشئ.
- صفحة إعدادات الحقول — صلاحيات حقول خاصة بهذا المستخدم.
- صفحة صلاحيات الصفحات — صلاحيات صفحات خاصة به.
- صفحة Extra Filters — فلاتر صفوف خاصة به.
- صفحة سجل التعديل — من عدّل سجل المستخدم هذا ومتى.
- صفحة ملف صلاحيات إضافي — مستندات التفويض التي تمنح هذا المستخدم صلاحيات إضافية حالياً؛ راجع الصلاحيات الإضافية المؤقتة.
أسلوب العمل المقصود: أبقِ الأدوار في ملفات الصلاحيات، واستخدم جداول المستخدم للاستثناءات الشخصية فقط. بضعة سطور على المستخدم أمر صحي؛ أما خمسون سطراً فمعناها غالباً أنك تحتاج ملف صلاحيات جديداً.
التحكم في الدخول
| الإعداد | وظيفته |
|---|---|
| منع الدخول (Prevent Login) | تعطيل الحساب. ونص الرفض «تم منع دخولك الي النظام»، إلا أن يكون حقل رسالة منع الدخول للمستخدم مملوءاً — فحينئذ يحل نصه محل الرسالة القياسية كلها. |
| أقصى عدد مرات تسجيل الدخول المتزامن (Max Login Sessions) | سقف الجلسات المتزامنة (1 افتراضياً للمستخدمين الجدد). ومع تفعيل تسجيل الخروج آلياً عند تعدي أقصى عدد مرات تسجيل دخول فإن الدخول الجديد يُخرج أقدم جلسة بدلاً من أن يُرفض. |
| تسجيل الخروج آلياً عند عدم وجود نشاط لمدة (دقيقة) (Auto Logout Time) | دقائق الخمول قبل إنهاء الجلسة. |
| السماح بالدخول من تطبيقات الهاتف (Allow Login From Apps) | يسمح بالدخول من تطبيقات الجوال. ويُحتسب مستخدمو الجوال ضمن حد مستخدمي الجوال في الرخصة. |
| السماح بتسجيل الدخول من خلال التطبيقات فقط (Login From Apps Only) | القيد المعاكس — لا دخول من المتصفح. |
| منع من الدخول إلى تطبيق ESS (Prevent ESS Login) | حجب بوابة الخدمة الذاتية للموظفين. |
| عدم السماح بالدخول على الشركة عام (Prevent Public Login) | إجبار المستخدم على اختيار شركة محددة عند الدخول بدلاً من السياق العام. |
| مستخدم برنامج نقاط البيع (POS User) + صلاحيات نقاط البيع (POS Security Profile) | يَسِم المستخدم لتطبيق نقاط البيع ويسند ملف صلاحيات نقاط البيع الخاص؛ ويجب ربط مستخدمي نقاط البيع بموظف. |
وفي شاشة قائمة المستخدمين يساعد إجراء Change Multi Users Password المدراء على إعادة ضبط كلمات سر عدة حسابات دفعة واحدة، بينما يفتح إجراء السماح بتسجيل الدخول بعد المنع بسبب محاولات الدخول الخطأ على شاشة المستخدم حساباً قُفل بسبب محاولات دخول خاطئة متكررة.
ويحكم هذا القفل إعدادان في الإعدادات العامة: اقصي عدد يتم السماح للمستخدم بادخال كلمة المرور خطأ وهو عدد المحاولات المحتملة، وتذكر أخر محاولة خاطئة لادخال كلمة المرور بالدقائق قبل السماح بالدخول مرة أخري وهي مدة القفل. والقفل محفوظ في ذاكرة الخادم لا على سجل المستخدم، ويترتب على ذلك ثلاثة أمور تستحق المعرفة: أنه ينتهي من تلقاء نفسه بعد مرور تلك الدقائق على آخر محاولة خاطئة، وأنه يزول بإعادة تشغيل الخادم، وأن كل محاولة جديدة أثناء القفل تُعيد بدء العدّ — فمن يظل يحاول لا يدخل أبداً. وزر المدير هو الطريق الأسرع لا الطريق الوحيد.
كلمات السر
- كلمات السر تُخزن مشفرة بدالة هاش (لا يمكن عكسها) ما لم تكن المنشأة تعمل صراحة بالنمط القديم للكلمات المكشوفة.
- علامة يجب تغيير كلمة السر (Password Must Be Changed) تفرض كلمة سر جديدة عند الدخول التالي؛ ويتتبع النظام تاريخ آخر تغيير لكلمة السر للتدقيق والسياسات.
- إجراء تغيير كلمة المرور (Change Password) على شاشة المستخدم هو مسار إعادة الضبط الإداري؛ أما المستخدمون فيغيرون كلماتهم من قائمة المستخدم في الشريط العلوي — راجع الشريط العلوي وقائمة المستخدم. وهناك يجب أن يكتب المستخدم كلمة المرور الحالية أولاً، فإن كانت خاطئة أو فارغة رُفض التغيير برسالة «كلمة المرور الحالية غير صحيحة». أما المسؤول الذي يعيد ضبط كلمة سر مستخدم آخر من سجل المستخدم فلا تُطلب منه.
الإجراءات في هذه الشاشة
- السماح بتسجيل الدخول بعد المنع بسبب محاولات الدخول الخطأ (Allow Login After Failed Logins) — هذا هو زر فك المنع. يزيل المنع فوراً، ويردّ بما ينفع الدعم: The user was unblocked, here are the IPs that caused the block: {0} — أي عناوين الإنترنت التي جاءت منها كلمات السر الخاطئة — أو The user was not blocked إن لم يكن هناك منع أصلاً. ويجب حفظ سجل المستخدم أولاً. ولا ترجمة عربية لأيٍّ من الردين، فيظهران بالإنجليزية.
- تغيير كلمة المرور (Change Password) — يضبط كلمة سر جديدة للمستخدم دون معرفة القديمة. يسأل عن كلمة السر الجديدة وتأكيدها، ثم اختياريًا عن بريد إلكتروني وكلمة سره للإرسال منه، ومفتاح يجب تغيير كلمة السر الذي يُلزم المستخدم بضبط كلمته الخاصة عند أول دخول، وهل يُخطر بالبريد أم بالرسائل القصيرة. ويجب حفظ سجل المستخدم أولًا.
- إضافة الأنواع المرتبطة بالأنواع الموجودة (Add Types Related To Current Types) — في جدول الصلاحيات. وأنت واقف على سطر صلاحية، ينظر في الكيان الذي يغطيه السطر، ويستخرج كل كيان يشير إليه عبر حقوله المرجعية والمرجعية العامة، ويضيف سطرًا لكل نوع ليس في الجدول أصلًا. وبه تمنح صلاحيات القراءة المساندة التي يحتاجها الكيان دون البحث عن الأنواع المرتبطة يدويًا. والزر نفسه موجود في شاشة الصلاحيات على الجدول ذاته.
في طلب إضافة مستخدم: إضافة مستخدم (Add User) — يجب حفظ الطلب؛ ثم ينشئ المستخدم الفعلي من الطلب، وبه يتحول الطلب المعتمَد إلى حساب دخول.
LDAP / Active Directory
عند تفعيل Use LDAP for users login في الإعدادات العامة، يتحقق النظام من هوية المستخدمين عبر الدليل (Directory) بدلاً من كلمة السر المحلية. ويوجد استثناءان للحسابات التي يجب أن تبقى محلية:
- علامة Do Not Use LDAP For Login على المستخدم،
- ونفس العلامة على ملف الصلاحيات (مفيدة لأدوار كاملة، كحسابات الخدمة).
المستخدم admin لا يدخل عبر LDAP أبداً.
التحقق بخطوتين (2FA)
إعداد Login 2FA Method في الإعدادات العامة يقبل:
- Message OTP — كود لمرة واحدة يُرسل للمستخدم،
- Estidamah API — تكامل التحقق من الهوية السعودي (استدامة)، أو
- None.
ويمكن استثناء مستخدمين بعينهم عبر علامة استثناء من التحقق بخطوتين (Exclude From 2FA). خطوات الإعداد الكاملة في دليل التحقق بخطوتين.
الصلاحيات الإدارية
المستخدم admin
الحساب الذي كوده/كود دخوله admin هو المستخدم الأعلى المدمج في النظام. يتجاوز نموذج الصلاحيات، والنظام يحميه من الإضعاف — فيرفض عند الحفظ أي محاولة لـ:
- منع دخوله أو فرض تغيير كلمة سره أو قصره على الدخول من الجوال،
- إسناد أي ملف صلاحيات له غير الملف الافتراضي كامل الصلاحيات،
- إعطائه محددات غير عامة أو مستوى مستخدم، أو إخفاء الأخطاء الحرجة والرسائل النظامية عنه،
- تغيير كوده أو كود دخوله.
Treat As Admin
علامة Treat As Admin في إعدادات المستخدم لا تمنح صلاحيات على البيانات — بل تمنح الوصول إلى الوظائف الإدارية المقيدة: صفحة الصيانة utils.html، إيقاف المهام الجارية، تسجيل خروج المستخدمين الآخرين، وما شابه. امنحها بحذر لكبار مديري النظام الذين يشغلون النظام لكنهم يخضعون لملف صلاحيات عادي في بيانات الأعمال.
مستوى المستخدم (User Level)
يمكن للرخص تعريف مستويات مستخدمين مسماة بأعداد مختلفة. حقل مستوى المستخدم يضع المستخدم في أحد المستويات المتاحة في رخصتك؛ ويتحقق النظام من وجود المستوى ويفرض الأعداد المرخصة (بالتكامل مع سجلات عداد مستخدمين (Users Counter) التي يمكن ربطها أيضاً على مستوى ملف الصلاحيات). وما يحويه الترخيص وكيف تقرؤه مشروح في الترخيص.
رسائل قد تظهر لك
| الرسالة | لماذا | ما تفعله |
|---|---|---|
| «تم منع دخولك الي النظام» | حقل منع الدخول مؤشَّر على المستخدم. وإن ظهرت رسالة أخرى فهي من رسالة منع الدخول للمستخدم. | أزل تأشير منع الدخول من سجل المستخدم. |
| «لقد استنفذت أقصى عدد من محاولات الدخول الخطأ. يرجي المحاولة مرة أخرى بعد {0} دقيقة أو التواصل مع مدير النظام. اسم المستخدم: {1}» | محاولات خاطئة أكثر مما يسمح به اقصي عدد يتم السماح للمستخدم بادخال كلمة المرور خطأ. | انتظر مدة تذكر أخر محاولة خاطئة دون محاولة جديدة، أو اطلب من المدير ضغط السماح بتسجيل الدخول بعد المنع بسبب محاولات الدخول الخطأ. |
| The user was unblocked, here are the IPs that caused the block: {0} | نجح فك المنع، والرسالة تسمّي العناوين التي جاءت منها المحاولات الخاطئة. | لا شيء — لكن اقرأ قائمة العناوين قبل أن تفترض أن المستخدم أخطأ الكتابة فحسب. |
| The user was not blocked | ضُغط زر فك المنع على مستخدم غير ممنوع. | ابحث في موضع آخر: منع الدخول، أو حدود الرخصة، أو مستوى المستخدم. |
| «معلومات الدخول غير صحيحة. فضلاً حاول الدخول مرة أخرى» | أحد أسبابها: منع تعديل محددات الدخول مفعّل، وأحد محددات الجلسة قيمته غير موجودة في محددات الدخول الأساسية ولا في أي سطر من جدول محددات الدخول. أما خلط قيم من سطور مختلفة فمسموح وليس هو السبب. | ادخل بقيم مذكورة، أو أضف القيمة الناقصة في سطر — راجع الصلاحيات على مستوى السجلات. |
| User login id {0} is already existing | مستخدم معتمد يحمل اسم الدخول نفسه. فأسماء الدخول فريدة على مستوى النظام، والمسودات لا تُحسب. | اختر اسم دخول آخر، أو ابحث عن المستخدم القائم. |
وردّا فك المنع لا ترجمة عربية لهما، فيظهران بالإنجليزية على الشاشة العربية.