функция Authenticate [SWS_DM_01142] Upstream: RS_Diag_04251
ara::core::Result< ClientAuthenticationHandle > Authenticate (ara::core::Vector< DiagnosticAuthRole > userRoles) noexcept;
This function is used by the application to report the authenticated state to the Diagnostic Server instance. The authentication could be either done using the Authentication interfaces of the Diagnostic Server instance, or through other means in the application.
Использование и вызов
Функция ara::diag::ClientAuthentication::Authenticate вызывается приложением для уведомления экземпляра Diagnostic Server об успешной аутентификации диагностического клиента [SWS_DM_01142]. Это может происходить после аутентификации через интерфейсы Diagnostic Server или через собственные механизмы приложения [SWS_DM_01142].
В качестве входного параметра функция принимает userRoles (типа ara::core::Vector<DiagnosticAuthRole>). При успешном вызове статус аутентификации экземпляра переходит в kAuthenticated, и переданные роли пользователя окончательно применяются [SWS_DM_01206]. В качестве возвращаемого значения она предоставляет ara::core::Result<ClientAuthenticationHandle> [SWS_DM_01142]. Поскольку объект Result возвращается непосредственно, обработка, вероятно, происходит синхронно в вызывающем контексте. Вопрос Q-dae22c82694f2103 (открытый)
Обработка ошибок и параллелизм
Метод объявлен как noexcept и считается безопасным по исключениям (exception safe) [SWS_DM_01142]. Если возникает ошибка из-за недоступности базовых функций Diagnostic Manager во время вызова, операция завершается неудачно с семантикой отката и возвращает DiagErrc::kServiceNotAvailable в объекте Result [SWS_DM_01142].
В отношении параллелизма метод явно специфицирован как not thread-safe [SWS_DM_01142]. Поэтому параллельные вызовы на одном и том же объекте ClientAuthentication недопустимы и должны синхронизироваться приложением.
Взаимодействие и жизненный цикл
Полученный ClientAuthenticationHandle позволяет приложению определять или расширять DynamicAccessList для аутентифицированного клиента [SWS_DM_01142]. Кроме того, вызов запускает мониторинг неактивности клиента или обращается к нему: если после успешной аутентификации в стандартном состоянии сеанса в течение authenticationTimeout очередной UDS-запрос отсутствует, экземпляр Diagnostic Server автоматически сбрасывает клиента обратно в kDeAuthenticated [SWS_DM_01210]. Чтобы предотвратить этот таймаут, приложение может обновлять таймер с помощью метода Refresh дескриптора [SWS_DM_01155].
Этот текст был сгенерирован ИИ на основе спецификации AUTOSAR.
Руководство разработчика реализации в подготовке (сложность I2)
| Header-Datei | #include "ara/diag/client_authentication.h" |
|---|---|
| Scope | class ara::diag::ClientAuthentication |
| Exception-Sicherheit | exception safe |
| Thread-Sicherheit | not thread-safe |
Parameter (in)
| Parameter | Beschreibung |
|---|---|
| userRoles | The user roles to set on the diagnostic client |
Rückgabewert
| Typ | Beschreibung |
|---|---|
| ara::core::Result< ClientAuthenticationHandle > | A handler of the Authentication State, which can be used by the application to set or extend the DynamicAccessList |
Fehler
| Fehlercode | Beschreibung |
|---|---|
| DiagErrc::kServiceNotAvailable | rollback_semantics The call cannot be executed, because essential DM functionality is currently not available. |
Request a governed re-review of this record. The record is not changed immediately.
- Record
AUTOSAR/AP/record/SWS_DM_01142- Status
- valid/unmigrated
- Version
AUTOSAR/AP/record/SWS_DM_01142@rel:R25-11#265316e8- Content hash
265316e8- Source
- https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01142
Status: valid/unmigrated
Version: rel:R25-11#17cf8f55
Versionshistorie & Revisions (1 transition, 6 revision)
- Current State
valid/unmigrated- Reason
- mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record
- Campaign
2026-08-13-status-backfill- Active Version
AUTOSAR/AP/record/SWS_DM_01142@rel:R25-11#17cf8f55
Recorded Revisions (6):
- R25-11
rel:R25-11#ffd39a4b2026-09-30 - R21-11
rel:R21-11#6f17bd9a2026-10-14 - R22-11
rel:R22-11#1579f1692026-10-14 - R23-11
rel:R23-11#3b67657b2026-10-14 - R24-11
rel:R24-11#575f1e5f2026-10-14 - R25-11
rel:R25-11#17cf8f552026-10-14 active
Requirement Text as-of this release:
Curation Decisions:
Reachable Artifacts & Dependents:
| Date | Actor | Transition | Reason / Rationale | Campaign |
|---|---|---|---|---|
| 2026-08-13 | tool | none → valid/unmigrated | mechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record | 2026-08-13-status-backfill |
gemini-3.8-flash-low· 2026-10-13 · Немецкий оригинал