DEENESPTFRRUARHIKOZHNL

класс ara::diag::ClientAuthentication

[SWS_DM_01132] Upstream: RS_Diag_04251

class ClientAuthentication final {...};

Interface for the application to inform the Diagnostic Server instance about the authentication states and the user roles that are currently authenticated.

Header-Datei#include "ara/diag/client_authentication.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopenamespace ara::diag

Руководство пользователяСОЗДАНО ИИ

Служит приложению для сообщения состояний аутентификации и активных ролей пользователей серверу Diagnostic Server.
СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 426d68eb26e1 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Служит приложению для сообщения состояний аутентификации и активных ролей пользователей серверу Diagnostic Server.

Интерфейс позволяет приложению информировать Diagnostic Server о статусе аутентификации, а также об активных ролях пользователей диагностического клиента [SWS_DM_01132]. Через вызовы, такие как Authenticate или OverrideDefaultRoles, осуществляется управление сменой состояний и предоставляются дескрипторы для управления динамическими списками доступа [SWS_DM_01206]. Изменения состояния вследствие таймаутов можно отслеживать асинхронно через нотификатор. Поскольку класс не является потокобезопасным и запрещает копирование, доступ внутри приложения должен быть синхронизирован.

Контекст

Класс ara::diag::ClientAuthentication служит центральным интерфейсом для приложения, позволяющим уведомлять экземпляр Diagnostic Server о состояниях аутентификации и текущих аутентифицированных ролях пользователей [SWS_DM_01132], SWS Diagnostics, с. 129. В этом взаимодействии участвуют три основные стороны:

  • Приложение (Application): выполняет проверки аутентификации — либо с использованием интерфейсов Diagnostic Server, либо через собственные механизмы приложения — и передает роли пользователей серверу Diagnostic Server [SWS_DM_01142].
  • Diagnostic Server / Diagnostic Manager: управляет диагностическими сессиями и применяет права доступа к диагностическим ресурсам на основе ролей и статуса аутентификации [SWS_DM_01206].
  • Диагностический клиент: внешний тестер или клиент SOVD, направляющий диагностические запросы к блоку управления (ECU) [SWS_DM_01210], [SWS_DM_01470].

Количество экземпляров ClientAuthentication определяется элементом модели DiagnosticExternalAuthenticationIdentification SWS Diagnostics, с. 129. Этот элемент позволяет настроить аутентификацию для клиента с фиксированным адресом источника или через диапазон адресов, если окончательный адрес источника еще неизвестен во время компиляции SWS Diagnostics, с. 129. Интерпретация: сопоставление диагностических клиентов с конкретными экземплярами ClientAuthentication осуществляется во время выполнения на основе этих диапазонов адресов источника. Вопрос Q-6cc7e791e678def2 (открытый) В случае клиентов SOVD сервер Diagnostic Server при валидации токена авторизации через ara::diag::SovdAuthorization::ValidateAuthorization напрямую передает объект ClientAuthentication приложению [SWS_DM_01470].

Application Application ClientAuthentication ClientAuthentication Application->ClientAuthentication Get / Authenticate DiagnosticServer DiagnosticServer ClientAuthentication->DiagnosticServer Zustandsmeldung DiagnosticClient DiagnosticClient DiagnosticClient->DiagnosticServer Diagnoseanfrage

Контекстная диаграмма: партнеры по взаимодействию интерфейса аутентификации. Источники: [SWS_DM_01132], [SWS_DM_01202], [SWS_DM_01470], SWS Diagnostics, с. 129

Жизненный цикл

Приложение получает экземпляр ClientAuthentication через перегруженные методы ara::diag::ExternalAuthentication::Get [SWS_DM_01202] или в контексте проверки токена SOVD [SWS_DM_01470]. Класс обладает строгой семантикой владения: конструктор копирования [SWS_DM_01139] и оператор присваивания с копированием [SWS_DM_01140] удалены (=delete). Операции перемещения (конструктор перемещения [SWS_DM_01137] и оператор присваивания с перемещением [SWS_DM_01138]) предопределены как стандартные и объявлены как noexcept. Деструктор также объявлен как noexcept [SWS_DM_01136]. Все функции-члены, а также деструктор не являются потокобезопасными (not thread-safe) [SWS_DM_01136], [SWS_DM_01141], [SWS_DM_01142], [SWS_DM_01143], [SWS_DM_01144].

Статус аутентификации отображается через тип перечисления DiagnosticAuthState [SWS_DM_01133]:

  • kDeAuthenticated (0x00): ни один диагностический клиент не аутентифицирован. При запуске системы клиент по умолчанию находится в этом состоянии [SWS_DM_01205]. При этом стандартными ролями считаются те роли (DiagnosticAuthRole), чей атрибут isDefault сконфигурирован в TRUE [SWS_DM_01204], [SWS_DM_01134]. С помощью OverrideDefaultRoles эти роли по умолчанию можно временно переопределить на заданный таймаут [SWS_DM_01141], [SWS_DM_01209].
  • kAuthenticated (0x01): диагностический клиент аутентифицирован. Это состояние достигается вызовом Authenticate, вследствие чего переданные роли пользователей активируются в Diagnostic Server [SWS_DM_01142], [SWS_DM_01206].

Автоматический переход из состояния kAuthenticated обратно в kDeAuthenticated инициируется, если клиент в стандартной сессии после последнего подтверждения передачи (TransmitConfirmation) не отправляет дальнейших запросов и истекает время неактивности [SWS_DM_01210], или при возникновении таймаута S3 [SWS_DM_01144], [SWS_DM_02077].

kDeAuthenticated kDeAuthenticated kDeAuthenticated->kDeAuthenticated OverrideDefaultRoles() kAuthenticated kAuthenticated kDeAuthenticated->kAuthenticated Authenticate() kAuthenticated->kDeAuthenticated Inaktivitaet / S3-Timeout

Диаграмма состояний: жизненный цикл и переходы состояний аутентификации клиента. Источники: [SWS_DM_01133], [SWS_DM_01204], [SWS_DM_01205], [SWS_DM_01206], [SWS_DM_01209], [SWS_DM_01210]

Путь использования

Штатная процедура управления аутентификацией клиентов включает следующие шаги:

  1. Регистрация нотификатора: приложение регистрирует с помощью SetNotifier функцию обратного вызова типа ClientAuthenticationSetNotifier (std::function<void(DiagnosticAuthState)>) [SWS_DM_01144], [SWS_DM_02077]. Благодаря этому оно уведомляется о наступлении смены состояния — например, перехода в kDeAuthenticated из-за неактивности или таймаута S3 [SWS_DM_01144]. Повторный вызов перезаписывает ранее установленный нотификатор [SWS_DM_01144].
  2. Запрос состояния: с помощью метода GetState() приложение может синхронно запросить текущее состояние аутентификации клиента [SWS_DM_01143].
  3. Уведомление об аутентификации: как только аутентификация успешно завершена, приложение вызывает Authenticate с активируемыми ролями пользователей (ara::core::Vector<DiagnosticAuthRole>) [SWS_DM_01142], [SWS_DM_01134]. Diagnostic Server переводит состояние в kAuthenticated и возвращает ClientAuthenticationHandle [SWS_DM_01206].
  4. Управление правами доступа: С помощью полученного ClientAuthenticationHandle приложение может настроить динамический список доступа (DynamicAccessList) для клиента [SWS_DM_01213], SWS Diagnostics, с. 132. Одновременно благодаря использованию этого дескриптора обновляется окно времени неактивности клиента SWS Diagnostics, с. 133.

Если клиент находится в состоянии kDeAuthenticated, приложение может вместо этого вызвать OverrideDefaultRoles(defaultRoles, timeout), чтобы временно активировать альтернативные стандартные роли; этот вызов в случае успеха также возвращает ClientAuthenticationHandle [SWS_DM_01141], [SWS_DM_01209].

Последовательность аутентификации и управление правамиApplicationClientAuthenticationDiagnosticServerSetNotifier(notifier)Result<void>Authenticate(userRoles)Установка статуса kAuthenticated и ролейBestaetigung & HandleResult<ClientAuthenticationHandle>optClient-Inaktivitaet in Standard-Session / S3-TimeoutWechsel zu kDeAuthenticatednotifier(kDeAuthenticated)

Диаграмма последовательности: последовательность вызовов и уведомлений при аутентификации. Источники: [SWS_DM_01142], [SWS_DM_01144], [SWS_DM_01206], [SWS_DM_01210]

Сценарии ошибок

Методы Authenticate, OverrideDefaultRoles и GetState возвращают свои возвращаемые значения инкапсулированными в ara::core::Result и специфицированы как безопасные к исключениям (exception safe), а также noexcept [SWS_DM_01141], [SWS_DM_01142], [SWS_DM_01143]. В случае ошибки возвращается следующий стандартизированный код ошибки:

  • DiagErrc::kServiceNotAvailable: возникает, если вызов не может быть выполнен из-за того, что существенные функциональные возможности Diagnostic Manager в данный момент недоступны [SWS_DM_01141], [SWS_DM_01142], [SWS_DM_01143]. Эта ошибка обладает семантикой отката (rollback_semantics), благодаря чему не остаётся незавершённых изменений состояния [SWS_DM_01141], [SWS_DM_01142], [SWS_DM_01143].

Для SetNotifier стандартизированные коды ошибок не определены [SWS_DM_01144]. В качестве существенного предусловия OverrideDefaultRoles требует, чтобы клиент в момент вызова находился в состоянии kDeAuthenticated [SWS_DM_01209].

Настоящее руководство основано на спецификации AUTOSAR Adaptive R25-11 (модуль diag) и составлено для autodocs.

Карта членов

Конструкторы и деструктор

2

Операторы

1

Перечисления

1

Диаграмма классов

Hohle Dreieckspfeile = Vererbung (zeigt zur Basisklasse); Klicken öffnet die jeweilige Klassenseite.

G nara__diag__ClientAuthentication678 ClientAuthentication + ClientAuthentication() + ~ClientAuthentication() + Authenticate() + GetState() + OverrideDefaultRoles() + SetNotifier() + operator=()

Подробный вид

Выберите элемент в оглавлении.

Конструкторы и деструктор

ClientAuthentication функция 2

Move constructor of ClientAuthentication.

Перегрузки ClientAuthentication 2
ClientAuthentication (ClientAuthentication &&other) noexcept=default; SWS_DM_01137
ClientAuthentication (ClientAuthentication const &other)=delete; SWS_DM_01139
~ClientAuthentication функция

Destructor of ClientAuthentication.

~ClientAuthentication () noexcept;

Методы

Authenticate функция

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.

GetState функция

This function is used by the application to query the current authentication state of the diagnostic client.

ara::core::Result< DiagnosticAuthState > GetState () const noexcept;
OverrideDefaultRoles функция

This method is used by the application to temporarily change the default AuthenticationRole for a Diagnostic Server Instance. The diagnostic services allowed in the passed defaultRoles are now accessible to the tester for a time period defined in the parameter timeout.

SetNotifier функция

This function is used by the application to set a Notifier function that shall be called by the Diagnostic Server instance when an Authentication Status Change occurs. This may be used, e.g, to notify the application when a transition to kDeAuthenticated state occurred due to an S3 timeout. A consecutive call of this method will overwrite the previous registered notifier.

ara::core::Result< void > SetNotifier (ClientAuthenticationSetNotifier notifier) noexcept;

Операторы

operator= функция 2

Move assignment operator of ClientAuthentication.

Перегрузки = 2
auto operator= (ClientAuthentication &&other) & noexcept -> Client Authentication & =default; SWS_DM_01138
auto operator= (ClientAuthentication const &other) -> Client Authentication &=delete; SWS_DM_01140

Псевдонимы типов

ClientAuthenticationSetNotifier псевдоним типа

Notifier Function that is called by the Diagnostic Server instance when an Authentication Status Change Occurs. This may be used, for e.g, to notify the application when a transition to kDeAuthenticated State occurred due to an S3 timeout.

using ClientAuthenticationSetNotifier = std::function<void(Diagnostic AuthState)>;
DiagnosticAuthRole псевдоним типа

The supported values for the Diagnostic Authentication roles are specified in the Diagnostic Extract.

using DiagnosticAuthRole = ara::core::String;

Перечисления

DiagnosticAuthState перечисление

Possible values of the Authentication State of the client.

enum class DiagnosticAuthState : std::uint8_t {...};

Документация методов

функция 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.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 06f87d723d7c Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование и вызов

Функция 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"
Scopeclass ara::diag::ClientAuthentication
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
userRolesThe user roles to set on the diagnostic client

Rückgabewert

TypBeschreibung
ara::core::Result< ClientAuthenticationHandle >A handler of the Authentication State, which can be used by the application to set or extend the DynamicAccessList

Fehler

FehlercodeBeschreibung
DiagErrc::kServiceNotAvailablerollback_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
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#ffd39a4b2026-09-30
  • R21-11rel:R21-11#6f17bd9a2026-10-14
  • R22-11rel:R22-11#1579f1692026-10-14
  • R23-11rel:R23-11#3b67657b2026-10-14
  • R24-11rel:R24-11#575f1e5f2026-10-14
  • R25-11rel:R25-11#17cf8f552026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция ClientAuthentication [SWS_DM_01137] Upstream: RS_Diag_04251

ClientAuthentication (ClientAuthentication &&other) noexcept=default;

Move constructor of ClientAuthentication.

Header-Datei#include "ara/diag/client_authentication.h"
Scopeclass ara::diag::ClientAuthentication
Exception-Sicherheitexception safe

Parameter (in)

ParameterBeschreibung
otherObject to move-construct from

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01137
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01137@rel:R25-11#17eac7a3
Content hash
17eac7a3
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01137
Status: valid/unmigrated Version: rel:R25-11#3462794e 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_01137@rel:R25-11#3462794e
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#581961172026-09-30
  • R21-11rel:R21-11#f373d3152026-10-14
  • R22-11rel:R22-11#afdb12682026-10-14
  • R23-11rel:R23-11#5682468c2026-10-14
  • R24-11rel:R24-11#d6bf1b932026-10-14
  • R25-11rel:R25-11#3462794e2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция ClientAuthentication [SWS_DM_01139] Upstream: RS_Diag_04251

ClientAuthentication (ClientAuthentication const &other)=delete;

Copy constructor of ClientAuthentication cannot be used.

Header-Datei#include "ara/diag/client_authentication.h"
Scopeclass ara::diag::ClientAuthentication

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01139
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01139@rel:R25-11#8b8afbd2
Content hash
8b8afbd2
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01139
Status: valid/unmigrated Version: rel:R25-11#8625245a 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_01139@rel:R25-11#8625245a
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#ab1768822026-09-30
  • R21-11rel:R21-11#1fb6defa2026-10-14
  • R22-11rel:R22-11#74808a772026-10-14
  • R23-11rel:R23-11#1b61e7822026-10-14
  • R24-11rel:R24-11#8625245a2026-10-14
  • R25-11rel:R25-11#8625245a2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция GetState [SWS_DM_01143] Upstream: RS_Diag_04251

ara::core::Result< DiagnosticAuthState > GetState () const noexcept;

This function is used by the application to query the current authentication state of the diagnostic client.

Header-Datei#include "ara/diag/client_authentication.h"
Scopeclass ara::diag::ClientAuthentication
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Rückgabewert

TypBeschreibung
ara::core::Result<DiagnosticAuthState >The Authentication State of the Diagnostic Client or error.

Fehler

FehlercodeBeschreibung
DiagErrc::kServiceNotAvailablerollback_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_01143
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01143@rel:R25-11#758760cb
Content hash
758760cb
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01143
Status: valid/unmigrated Version: rel:R25-11#608570f4 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_01143@rel:R25-11#608570f4
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#84da2c3e2026-09-30
  • R21-11rel:R21-11#d78810992026-10-14
  • R22-11rel:R22-11#fed2aecc2026-10-14
  • R23-11rel:R23-11#275163122026-10-14
  • R24-11rel:R24-11#23ca48ab2026-10-14
  • R25-11rel:R25-11#608570f42026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция OverrideDefaultRoles [SWS_DM_01141] Upstream: RS_Diag_04251

ara::core::Result< ClientAuthenticationHandle > OverrideDefaultRoles (ara::core::Vector< DiagnosticAuthRole > defaultRoles, std::chrono::milliseconds timeout) noexcept;

This method is used by the application to temporarily change the default AuthenticationRole for a Diagnostic Server Instance. The diagnostic services allowed in the passed defaultRoles are now accessible to the tester for a time period defined in the parameter timeout.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 4809043989e1 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

С помощью синхронного метода OverrideDefaultRoles класса ara::diag::ClientAuthentication приложение может временно переопределить стандартные роли аутентификации (defaultRoles) диагностического клиента [SWS_DM_01141]. Диагностические службы, разрешенные для переданных ролей, доступны тестеру в течение интервала времени, определенного в параметре timeout [SWS_DM_01141]. Необходимым условием для этого является нахождение клиента в состоянии kDeAuthenticated [SWS_DM_01209]. Интерпретация: если вызов выполняется не в состоянии kDeAuthenticated, переопределение ролей, вероятно, будет отклонено или останется безрезультатным, поскольку спецификация предписывает поведение исключительно для этого исходного состояния. Вопрос Q-81189f2c2fe0f301 (открытый)

При успешном выполнении метод возвращает приложению экземпляр ClientAuthenticationHandle внутри ara::core::Result [SWS_DM_01141], [SWS_DM_01209]. Если вызов не может быть выполнен из-за того, что существенная функциональность Diagnostic Manager в настоящее время недоступна, возвращается код ошибки DiagErrc::kServiceNotAvailable [SWS_DM_01141]. Функция объявлена как noexcept и является безопасной по исключениям (exception safe) [SWS_DM_01141].

Для параллелизма и взаимодействия с другими компонентами действуют следующие требования:

  • Параллелизм: метод специфицирован как not thread-safe [SWS_DM_01141]. Параллельные вызовы на одном и том же экземпляре должны синхронизироваться на стороне приложения.
  • Управление дескриптором: через возвращенный экземпляр ClientAuthenticationHandle текущий таймер можно продлить с помощью Refresh() [SWS_DM_01155]. Кроме того, дескриптор позволяет управлять DynamicAccessList для дополнительных диагностических ресурсов AUTOSAR_AP_SWS_Diagnostics §7.3.2.3.3 «ClientAuthenticationHandle».

Это указание по использованию было создано автоматически на основе спецификаций AUTOSAR.

Руководство разработчика реализации в подготовке (сложность I2)

Header-Datei#include "ara/diag/client_authentication.h"
Scopeclass ara::diag::ClientAuthentication
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
defaultRolesThe default roles requested by the application, to be set on the diagnostic client
timeoutThe timeout until which the override request is active

Rückgabewert

TypBeschreibung
ara::core::Result< ClientAuthenticationHandle >Operation result

Fehler

FehlercodeBeschreibung
DiagErrc::kServiceNotAvailablerollback_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_01141
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01141@rel:R25-11#439bcc1e
Content hash
439bcc1e
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01141
Status: valid/unmigrated Version: rel:R25-11#21bca5df 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_01141@rel:R25-11#21bca5df
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#852a402e2026-09-30
  • R21-11rel:R21-11#135b2de82026-10-14
  • R22-11rel:R22-11#70389b8e2026-10-14
  • R23-11rel:R23-11#e73e64042026-10-14
  • R24-11rel:R24-11#94dc59742026-10-14
  • R25-11rel:R25-11#21bca5df2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция SetNotifier [SWS_DM_01144] Upstream: RS_Diag_04251

ara::core::Result< void > SetNotifier (ClientAuthenticationSetNotifier notifier) noexcept;

This function is used by the application to set a Notifier function that shall be called by the Diagnostic Server instance when an Authentication Status Change occurs. This may be used, e.g, to notify the application when a transition to kDeAuthenticated state occurred due to an S3 timeout. A consecutive call of this method will overwrite the previous registered notifier.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 19ea8e6c95d7 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Использование

Метод [SWS_DM_01144] класса ara::diag::ClientAuthentication служит приложению для регистрации функции обратного вызова типа ClientAuthenticationSetNotifier. Она вызывается экземпляром Diagnostic Server, как только изменяется статус аутентификации клиента [SWS_DM_01144]. Это позволяет приложению непосредственно реагировать на смену состояний, например когда после тайм-аута сервера S3 происходит автоматический переход в статус kDeAuthenticated [SWS_DM_01211] или наступает тайм-аут из-за неактивности клиента [SWS_DM_01210].

Обработка ошибок и возвращаемое значение

Функция возвращает ara::core::Result<void> и объявлена как noexcept, а также безопасной относительно исключений (exception safe) [SWS_DM_01144]. Стандартизированные коды ошибок не специфицированы [SWS_DM_01144]; вероятно, объект Result при штатной работе всегда возвращает успех (void). Вопрос Q-0d7d43cc37d57944 (открытый)

Параллелизм и взаимодействие

Что касается потокобезопасности, метод специфицирован как «not thread-safe» [SWS_DM_01144]. Поэтому вызовы на одном и том же экземпляре не должны выполняться незащищенно из конкурирующих потоков. Кроме того, для регистрации действует поведение перезаписи: повторный вызов SetNotifier полностью заменяет ранее зарегистрированный нотификатор [SWS_DM_01144]. Это поведение соответствует единому паттерну регистрации в Diagnostic Management, как аналогично определено также для [SWS_DM_00615] (CancellationHandler), [SWS_DM_00745] (Indicator) и [SWS_DM_00755] (OperationCycle).

Это указание по использованию было создано автоматически на основе спецификации AUTOSAR Adaptive R25-11.

Руководство разработчика реализации в подготовке (сложность I3)

Header-Datei#include "ara/diag/client_authentication.h"
Scopeclass ara::diag::ClientAuthentication
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Parameter (in)

ParameterBeschreibung
notifierThe notifier to call on state transition

Rückgabewert

TypBeschreibung
ara::core::Result< void >Returns void.

Fehler

FehlercodeBeschreibung
This function does not specify any standardized errors.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01144
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01144@rel:R25-11#f6cafd63
Content hash
f6cafd63
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01144
Status: valid/unmigrated Version: rel:R25-11#ddcf5d80 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_01144@rel:R25-11#ddcf5d80
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#bb5bb9422026-09-30
  • R21-11rel:R21-11#fec80c112026-10-14
  • R22-11rel:R22-11#2ece489f2026-10-14
  • R23-11rel:R23-11#7f1d62332026-10-14
  • R24-11rel:R24-11#107e99362026-10-14
  • R25-11rel:R25-11#ddcf5d802026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция operator= [SWS_DM_01138] Upstream: RS_Diag_04251

auto operator= (ClientAuthentication &&other) & noexcept -> Client Authentication & =default;

Move assignment operator of ClientAuthentication.

Header-Datei#include "ara/diag/client_authentication.h"
Scopeclass ara::diag::ClientAuthentication
Exception-Sicherheitexception safe

Parameter (in)

ParameterBeschreibung
otherObject to move-assign from.

Rückgabewert

TypBeschreibung
ClientAuthenticationClientAuthentication& Reference to self.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01138
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01138@rel:R25-11#c0c03d42
Content hash
c0c03d42
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01138
Status: valid/unmigrated Version: rel:R25-11#76277668 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_01138@rel:R25-11#76277668
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#f0894f262026-09-30
  • R21-11rel:R21-11#1107ed262026-10-14
  • R22-11rel:R22-11#9d8e860b2026-10-14
  • R23-11rel:R23-11#a3ca32ee2026-10-14
  • R24-11rel:R24-11#2d04d62d2026-10-14
  • R25-11rel:R25-11#762776682026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция operator= [SWS_DM_01140] Upstream: RS_Diag_04251

auto operator= (ClientAuthentication const &other) -> Client Authentication &=delete;

Copy assignment operator of ClientAuthentication cannot be used.

Header-Datei#include "ara/diag/client_authentication.h"
Scopeclass ara::diag::ClientAuthentication

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01140
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01140@rel:R25-11#1283f359
Content hash
1283f359
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01140
Status: valid/unmigrated Version: rel:R25-11#83c48e25 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_01140@rel:R25-11#83c48e25
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#2a4783d52026-09-30
  • R21-11rel:R21-11#f986a5382026-10-14
  • R22-11rel:R22-11#666e2c0b2026-10-14
  • R23-11rel:R23-11#9111a09e2026-10-14
  • R24-11rel:R24-11#41a505672026-10-14
  • R25-11rel:R25-11#83c48e252026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

функция ~ClientAuthentication [SWS_DM_01136] Upstream: RS_Diag_04251

~ClientAuthentication () noexcept;

Destructor of ClientAuthentication.

СОЗДАНО ИИ не проверено Модель: gemini-3.8-flash-medium · Усилие: medium · Температура: не регулируется · Промпт: 9da38c214c58 Происхождение Открытые вопросы (1)
переведено с немецкого руководстваgemini-3.8-flash-low · 2026-10-13 · Немецкий оригинал

Деструктор [SWS_DM_01136] класса ara::diag::ClientAuthentication служит для освобождения и корректного демонтажа экземпляра для аутентификации клиентов в Diagnostic Management. Функция определена в заголовочном файле #include "ara/diag/client_authentication.h" и вызывается синхронно при завершении времени жизни объекта (AUTOSAR_AP_SWS_Diagnostics §8.5.1.2.1.2 «Destructor»).

Для использования и свойств выполнения действуют следующие положения:

  • Вызов и параметры: будучи деструктором, ~ClientAuthentication() не имеет ни входных параметров, ни возвращаемого значения.
  • Безопасность ошибок и исключений: операция специфицирована как noexcept и exception safe [SWS_DM_01136]; при демонтаже объекта гарантированно не возбуждаются исключения.
  • Параллелизм: вызов явно классифицирован как not thread-safe. Следовательно, уничтожение объекта не должно происходить параллельно с другими вызовами методов того же экземпляра.

Элемент реализует вышестоящее требование RS_Diag_04251 (AUTOSAR_AP_SWS_Diagnostics §8.5.1.2.1.2 «Destructor»). Интерпретация: перед уничтожением экземпляра активные процессы аутентификации или коммуникации приложения, вероятно, должны быть штатно завершены, чтобы избежать неопределенного поведения вследствие отсутствия потокобезопасности. Вопрос Q-cedd6f523eb2c1c3 (открытый)

Этот текст сгенерирован ИИ и служит редакторским указанием по использованию.

Руководство разработчика реализации в подготовке (сложность I1)

Header-Datei#include "ara/diag/client_authentication.h"
Scopeclass ara::diag::ClientAuthentication
Exception-Sicherheitexception safe
Thread-Sicherheitnot thread-safe

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01136
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01136@rel:R25-11#a1b91f8f
Content hash
a1b91f8f
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01136
Status: valid/unmigrated Version: rel:R25-11#ebd2efb0 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_01136@rel:R25-11#ebd2efb0
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#5066950d2026-09-30
  • R21-11rel:R21-11#aa8b145e2026-10-14
  • R22-11rel:R22-11#e03e0f452026-10-14
  • R23-11rel:R23-11#a62b91a92026-10-14
  • R24-11rel:R24-11#393bc96e2026-10-14
  • R25-11rel:R25-11#ebd2efb02026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

Документация перечислений

перечисление DiagnosticAuthState [SWS_DM_01133] Upstream: RS_Diag_04251

enum class DiagnosticAuthState :                std::uint8_t {...};

Possible values of the Authentication State of the client.

Header-Datei#include "ara/diag/client_authentication.h"
Forwarding-Header#include "ara/diag/diag_fwd.h"
Scopeclass ara::diag::ClientAuthentication
SymbolDiagnosticAuthState
Basistypstd::uint8_t

Werte

EnumeratorBeschreibung
kDeAuthenticated= 0x00 No Diagnostic Clients are currently authenticated.
kAuthenticated= 0x01 A Diagnostic Client is currently authenticated.

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01133
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01133@rel:R25-11#1c1bb7ea
Content hash
1c1bb7ea
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01133
Status: valid/unmigrated Version: rel:R25-11#be2431b9 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_01133@rel:R25-11#be2431b9
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#ecdc884c2026-09-30
  • R21-11rel:R21-11#9ee5449e2026-10-14
  • R22-11rel:R22-11#9ee5449e2026-10-14
  • R23-11rel:R23-11#e21d94c52026-10-14
  • R24-11rel:R24-11#e21d94c52026-10-14
  • R25-11rel:R25-11#be2431b92026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

Документация псевдонимов типов

псевдоним типа ClientAuthenticationSetNotifier [SWS_DM_02077] Upstream: RS_Diag_04251

using ClientAuthenticationSetNotifier = std::function<void(Diagnostic AuthState)>;

Notifier Function that is called by the Diagnostic Server instance when an Authentication Status Change Occurs. This may be used, for e.g, to notify the application when a transition to kDeAuthenticated State occurred due to an S3 timeout.

Header-Datei#include "ara/diag/client_authentication.h"
Scopeclass ara::diag::ClientAuthentication
SymbolClientAuthenticationSetNotifier
Thread-Sicherheitnot thread-safe

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_02077
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_02077@rel:R25-11#3b1007ac
Content hash
3b1007ac
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_02077
Status: valid/unmigrated Version: rel:R25-11#9f8e8d05 Versionshistorie & Revisions (1 transition, 3 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_02077@rel:R25-11#9f8e8d05
Point-in-Time History:
Recorded Revisions (3):
  • R25-11rel:R25-11#00399c222026-09-30
  • R24-11rel:R24-11#b4d6fb532026-10-14
  • R25-11rel:R25-11#9f8e8d052026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill

псевдоним типа DiagnosticAuthRole [SWS_DM_01134] Upstream: RS_Diag_04251

using DiagnosticAuthRole = ara::core::String;

The supported values for the Diagnostic Authentication roles are specified in the Diagnostic Extract.

Header-Datei#include "ara/diag/client_authentication.h"
Scopeclass ara::diag::ClientAuthentication
SymbolDiagnosticAuthRole

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/SWS_DM_01134
Status
valid/unmigrated
Version
AUTOSAR/AP/record/SWS_DM_01134@rel:R25-11#48198cc1
Content hash
48198cc1
Source
https://www.autosar.org/fileadmin/standards/R25-11/AP/AUTOSAR_AP_SWS_Diagnostics.pdf#nameddest=SWS_DM_01134
Status: valid/unmigrated Version: rel:R25-11#10bed2cf 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_01134@rel:R25-11#10bed2cf
Point-in-Time History:
Recorded Revisions (6):
  • R25-11rel:R25-11#ecb176b92026-09-30
  • R21-11rel:R21-11#d3a529062026-10-14
  • R22-11rel:R22-11#7d6be0912026-10-14
  • R23-11rel:R23-11#7e7656532026-10-14
  • R24-11rel:R24-11#eb0bd58b2026-10-14
  • R25-11rel:R25-11#10bed2cf2026-10-14 active
DateActorTransitionReason / RationaleCampaign
2026-08-13toolnone → valid/unmigratedmechanically backfilled by migriere_status_backfill.py -- no per-field curation history exists yet for this record2026-08-13-status-backfill