يجمع نتيجة فحص تفويض SOVD مع هوية العميل ومدة صلاحية التخزين المؤقت.
مُولَّد بالذكاء الاصطناعيغير مُراجَعالنموذج: gemini-3.8-flash-medium · الجهد: medium · درجة الحرارة: غير قابل للتحكم · الموجّه: 6613e74c168cالمصدرأسئلة مفتوحة (2)
مترجم من الدليل الألمانيgemini-3.8-flash-low · 2026-10-13 · الأصل الألماني
يجمع نتيجة فحص تفويض SOVD مع هوية العميل ومدة صلاحية التخزين المؤقت.
تُستخدم البنية ara::diag::SovdAuthorization::ValidateAuthorizationOutput كنوع إرجاع لفحص التفويض ValidateAuthorization() في الوحدة diag[SWS_DM_01927]. وتمرر هوية العميل الاختيارية للتعرف عليه مجددًا والحفاظ على الوصول إلى الموارد المؤقتة مثل الروتينات أو أقفال الحماية [SWS_DM_01819]، بالإضافة إلى وقت الصلاحية للتخزين المؤقت للتحقق [SWS_DM_01820]. وإذا ظل حقل الهوية غير محدد، تنتهي صلاحية الوصول إلى الموارد المحمية بمجرد انتهاء صلاحية الرمز المميز المرسل أو عدم صلاحيته [SWS_DM_01819].
السياق
تعمل البنية ara::diag::SovdAuthorization::ValidateAuthorizationOutput كنوع إرجاع معياري للعملية ValidateAuthorization() في الوحدة diag الخاصة بـ AUTOSAR Adaptive Platform [SWS_DM_01927]AUTOSAR_AP_SWS_Diagnostics §8.52.2 «Struct: ValidateAuthorizationOutput». وتُستخدم كعنصر واجهة بين منطق التفويض من جانب التطبيق وDiagnostic Management أثناء عمليات الوصول للتشخيص الموجه نحو الخدمة (SOVD). وبمجرد أن يرغب عميل تشخيص خارجي في الوصول إلى موارد المركبة عبر رمز SOVD مميز، يطلب Diagnostic Management إجراء تحقق. وتمرر البنية نتيجتين مركزيتين لهذا الفحص: معرف اختياري للعميل (identity) [SWS_DM_01819]، ووقت الصلاحية للتخزين المؤقت للتفويض (validUntil) [SWS_DM_01820].
دورة الحياة
كبنية بيانات بسيطة (Plain Struct)، تمتلك ValidateAuthorizationOutput دورة حياة عابرة [SWS_DM_01927]. ويتم إنشاء كائن منها بواسطة التنفيذ الخاص بالتطبيق لفحص التفويض، وتُملأ بنتائج التحقق، وتُمرر بالقيمة (Return-by-Value أو بدلالات النقل Move Semantics) إلى Diagnostic Management المستدعي. وتحتفظ البنية بحقول بياناتها identity من النوع ara::core::Optional<ara::core::String>[SWS_DM_01819] وvalidUntil من النوع std::chrono::system_clock::time_point[SWS_DM_01820] كمتغيرات أعضاء مباشرة. ولا يمتلك الكائن نفسه حالات داخلية أو انتقالات حالة، ولكنه يحدد بشكل مباشر عبر الحقل validUntil مدة بقاء حالة التفويض المخزنة مؤقتًا في Diagnostic Management (التخزين المؤقت Caching) [SWS_DM_01820]. وفيما يتعلق بالتزامن، يُفترض أن يتم إنشاء الحالة محليًا داخل الخيط أثناء استدعاء التحقق؛ ولم يتم تحديد وصول كتابة متزامن إلى نفس البنية (تفسير: الحماية من سباق البيانات تقع على عاتق البيئة المستدعية). سؤال Q-0579316b13023b31 (مفتوح) وبعد التقييم بواسطة إطار العمل، تنتهي دورة حياة حالة البنية بشكل طبيعي عند مغادرة النطاق.
مسار الاستخدام
ينقسم المسار النمطي لاستخدام ValidateAuthorizationOutput إلى الخطوات التالية:
استلام الطلب: يرسل عميل خارجي طلب تشخيص SOVD مع رمز أمان مميز إلى Diagnostic Management.
طلب التحقق: يمرر Diagnostic Management الرمز المميز عبر ValidateAuthorization() إلى كائن التفويض الخاص بالتطبيق.
تقييم النتيجة: يستلم Diagnostic Management البنية، ويخزن نتيجة التحقق مؤقتًا حتى validUntil، ويربط الموارد المؤقتة (مثل روتينات التشخيص النشطة أو أقفال الحماية) بالهوية الممررة [SWS_DM_01819][SWS_DM_01820].
على الرغم من أن ValidateAuthorizationOutput كنوع بيانات بسيط لا يطلق رموز أخطاء أو استثناءات خاصة به، إلا أن التعيينات غير الصحيحة أو غير المكتملة تؤدي إلى أخطاء تشغيلية:
غياب هوية العميل عند تجديد الرمز المميز: إذا لم يتم تعيين identity (قيمة اختيارية فارغة)، فلن يتمكن العميل من الوصول إلى الموارد المؤقتة إلا طالما توفر الرمز المميز نفسه ولم ينتهِ validUntil[SWS_DM_01819]. وإذا قام العميل بتجديد رمز مميز منتهي الصلاحية، فلن يتمكن Diagnostic Management من إعادة التعرف عليه دون هوية معينة؛ وبذلك يُفقد الوصول إلى الروتينات النشطة أو أقفال الحماية الحالية [SWS_DM_01819].
طابع زمني غير صالح أو منتهي الصلاحية: إذا كانت النقطة الزمنية الممررة في validUntil واقعة في الماضي بالفعل، فمن المرجح الامتناع فورًا عن التخزين المؤقت في Diagnostic Management (تفسير: يفرض كل طلب عميل لاحق استدعاء تحقق جديدًا). سؤال Q-c715941f9302fd13 (مفتوح)
تعارض الهويات: إذا أرجع تطبيق التفويض عن غير قصد سلاسل هوية متطابقة لعملاء مختلفين، فسيصنفهم Diagnostic Management على أنهم متطابقون [SWS_DM_01819]، مما قد يؤدي إلى الاستحواذ غير المصرح به على أقفال الحماية والموارد المؤقتة.
تم تنسيق هذا الدليل بواسطة ذكاء اصطناعي استنادًا إلى مواصفة AUTOSAR Adaptive Platform R25-11 (الوحدة diag).
مخطط الفئات UML
Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.
Identity of the client. This identity string if present will be used to re-identify a client even if it uses a new token (e.g. because the old one expired) so that it has access to the temporary resources (e.g. running routines, locks, etc.). If the identity string is the same as one returned earlier, the client will be considered identical. Depending on the security concept it could be for example the ’client_id’, the ’sub’, or a combination of both. If the identity string is not provided, the client will only have access to the temporary resources as long as it provides the same access token and validUntil is not yet expired.
Time until this validation may be reused. The point in time until which the authentication state may be reused if the same token is provided by the client (caching).
Identity of the client. This identity string if present will be used to re-identify a client even if it uses a new token (e.g. because the old one expired) so that it has access to the temporary resources (e.g. running routines, locks, etc.). If the identity string is the same as one returned earlier, the client will be considered identical. Depending on the security concept it could be for example the ’client_id’, the ’sub’, or a combination of both. If the identity string is not provided, the client will only have access to the temporary resources as long as it provides the same access token and validUntil is not yet expired.
Time until this validation may be reused. The point in time until which the authentication state may be reused if the same token is provided by the client (caching).
gemini-3.8-flash-low· 2026-10-13 · الأصل الألماني