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

사용자 가이드AI 생성

애플리케이션이 인증 상태 및 활성 사용자 역할을 Diagnostic Server에 보고하는 데 사용됩니다.
AI 생성 미검증 모델: 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].
  • 진단 클라이언트: ECU로 진단 요청을 보내는 외부 테스터 또는 SOVD 클라이언트입니다 [SWS_DM_01210], [SWS_DM_01470].

ClientAuthentication의 인스턴스 수는 모델 요소 DiagnosticExternalAuthenticationIdentification에 의해 결정됩니다 SWS Diagnostics, 129쪽. 이 요소를 사용하면 고정 소스 주소를 가진 클라이언트에 대한 인증을 구성하거나 최종 소스 주소가 컴파일 시점에 아직 알려지지 않은 경우 주소 범위를 통해 인증을 구성할 수 있습니다 SWS Diagnostics, 129쪽. 해석: 진단 클라이언트와 구체적인 ClientAuthentication 인스턴스 간의 매핑은 런타임에 이러한 소스 주소 범위를 기반으로 수행될 것으로 추정됩니다. SOVD 클라이언트의 경우 Diagnostic Server는 ara::diag::SovdAuthorization::ValidateAuthorization를 통한 권한 부여 토큰 유효성 검사 시 ClientAuthentication 객체를 애플리케이션에 직접 전달합니다 [SWS_DM_01470]. 질문 Q-6cc7e791e678def2 (열림)

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쪽

수명 주기

애플리케이션은 ara::diag::ExternalAuthentication::Get의 오버로드된 메서드를 통해 [SWS_DM_01202] 또는 SOVD 토큰 검사 컨텍스트에서 ClientAuthentication 인스턴스를 얻습니다 [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]. 이때 속성 isDefault가 TRUE로 구성된 역할(DiagnosticAuthRole)이 기본 역할로 간주됩니다 [SWS_DM_01204], [SWS_DM_01134]. OverrideDefaultRoles를 통해 이러한 기본 역할을 지정된 타임아웃 동안 일시적으로 재정의할 수 있습니다 [SWS_DM_01141], [SWS_DM_01209].
  • kAuthenticated(0x01): 진단 클라이언트가 인증되었습니다. 이 상태는 Authenticate를 호출하여 도달하며, 이를 통해 전달된 사용자 역할이 Diagnostic Server에서 활성화됩니다 [SWS_DM_01142], [SWS_DM_01206].

기본 세션의 클라이언트가 마지막 전송 확인(TransmitConfirmation) 후 더 이상 요청을 보내지 않고 비활성 시간이 만료되거나 [SWS_DM_01210], S3 타임아웃이 발생할 때 kAuthenticated에서 kDeAuthenticated로의 자동 상태 전이가 트리거됩니다 [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]. 이를 통해 비활성 또는 S3 타임아웃으로 인한 kDeAuthenticated로의 전이와 같은 상태 변경이 발생할 때 알림을 받습니다 [SWS_DM_01144]. 다시 호출하면 이전에 설정된 알림자를 덮어씁니다 [SWS_DM_01144].
  2. 상태 쿼리: 애플리케이션은 GetState() 메서드를 통해 클라이언트의 현재 인증 상태를 동기식으로 쿼리할 수 있습니다 [SWS_DM_01143].
  3. 인증 보고: 인증이 성공적으로 완료되는 즉시 애플리케이션은 활성화할 사용자 역할(ara::core::Vector<DiagnosticAuthRole>)과 함께 Authenticate를 호출합니다 [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]. 오류가 발생할 경우 다음과 같은 표준화된 오류 코드가 보고됩니다:

SetNotifier에 대해 정의된 표준화된 오류 코드는 없습니다 [SWS_DM_01144]. 필수 전제 조건으로서 OverrideDefaultRoles는 호출 시점에 클라이언트가 kDeAuthenticated 상태에 있을 것을 요구합니다 [SWS_DM_01209].

이 가이드는 AUTOSAR Adaptive R25-11 사양(diag 모듈)을 기반으로 하며 autodocs를 위해 작성되었습니다.

멤버 맵

클래스 다이어그램

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

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

상세 보기

개요에서 항목을 선택하세요.

생성자 및 소멸자

Move constructor of ClientAuthentication.

오버로드 ClientAuthentication 2
ClientAuthentication (ClientAuthentication &&other) noexcept=default; SWS_DM_01137
ClientAuthentication (ClientAuthentication const &other)=delete; SWS_DM_01139

Destructor of ClientAuthentication.

~ClientAuthentication () 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.

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;

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.

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

타입 별칭

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;

열거형

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.

AI 생성 미검증 모델: 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의 기본 기능을 사용할 수 없어 오류가 발생하는 경우, 작업은 롤백 의미론(rollback semantics)으로 실패하고 Result 객체에 DiagErrc::kServiceNotAvailable을(를) 반환합니다 [SWS_DM_01142].

동시성과 관련하여 이 메서드는 명시적으로 not thread-safe로 지정되어 있습니다 [SWS_DM_01142]. 따라서 동일한 ClientAuthentication 객체에 대한 병렬 호출은 허용되지 않으며 애플리케이션에 의해 동기화되어야 합니다.

ERR HTTP Error 429: Too Many Requests

획득한 ClientAuthenticationHandle을(를) 통해 애플리케이션은 인증된 클라이언트에 대한 DynamicAccessList을(를) 정의하거나 확장할 수 있습니다 [SWS_DM_01142]. 또한 이 호출은 클라이언트의 비활성 모니터링을 시작하거나 참조합니다. 성공적인 인증 후 기본 세션 상태에서 authenticationTimeout 동안 추가 UDS 요청이 없으면, Diagnostic Server 인스턴스는 클라이언트를 자동으로 kDeAuthenticated(으)로 다시 재설정합니다 [SWS_DM_01210]. 이 타임아웃을 방지하기 위해 애플리케이션은 핸들의 Refresh 메서드를 통해 타이머를 업데이트할 수 있습니다 [SWS_DM_01155].

이 텍스트는 AUTOSAR 사양을 기반으로 AI에 의해 생성되었습니다.

구현자 가이드 준비 중 (복잡도 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#d275800f
Content hash
d275800f
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#9721bee9
Content hash
9721bee9
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#b8302036
Content hash
b8302036
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#8fdc3bff
Content hash
8fdc3bff
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.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 4809043989e1 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

ara::diag::ClientAuthentication 클래스의 동기 메서드 OverrideDefaultRoles을(를) 사용하면 애플리케이션이 진단 클라이언트의 기본 인증 역할(defaultRoles)을 임시로 오버라이드할 수 있습니다 [SWS_DM_01141]. 전달된 역할에 대해 활성화된 진단 서비스는 매개변수 timeout에 정의된 기간 동안 테스터가 사용할 수 있습니다 [SWS_DM_01141]. 이를 위한 전제 조건은 클라이언트가 kDeAuthenticated 상태에 있어야 한다는 것입니다 [SWS_DM_01209]. 해석: 사양에서는 이 초기 상태에 대해서만 동작을 규정하고 있으므로, kDeAuthenticated 상태에서 호출되지 않는 경우 역할 오버라이드가 거부되거나 효력이 없을 것으로 보입니다. 질문 Q-81189f2c2fe0f301 (열림)

성공적으로 실행되면 메서드는 ara::core::Result 내의 ClientAuthenticationHandle 인스턴스를 애플리케이션에 반환합니다 [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#cb65791a
Content hash
cb65791a
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.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 19ea8e6c95d7 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

사용

클래스 ara::diag::ClientAuthentication의 메서드 [SWS_DM_01144]은(는) 애플리케이션이 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]. 이러한 동작은 [SWS_DM_00615](CancellationHandler), [SWS_DM_00745](Indicator) 및 [SWS_DM_00755](OperationCycle)에 대해 유사하게 정의된 것과 같이 Diagnostic Management의 통일된 등록 패턴에 부합합니다.

본 사용 지침은 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#1d2fcc17
Content hash
1d2fcc17
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#8daa79d9
Content hash
8daa79d9
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#c23bb03c
Content hash
c23bb03c
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.

AI 생성 미검증 모델: gemini-3.8-flash-medium · 노력: medium · 온도: 제어 불가 · 프롬프트: 9da38c214c58 출처 열린 질문 (1)
독일어 가이드에서 번역됨gemini-3.8-flash-low · 2026-10-13 · 독일어 원문

클래스 ara::diag::ClientAuthentication의 소멸자 [SWS_DM_01136]은(는) 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 (열림)

이 텍스트는 AI에 의해 생성되었으며 편집용 사용 지침으로 사용됩니다.

구현자 가이드 준비 중 (복잡도 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#9b59134f
Content hash
9b59134f
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#ae5a6bd3
Content hash
ae5a6bd3
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#abc5e01b
Content hash
abc5e01b
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#e3ae60ab
Content hash
e3ae60ab
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