function 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.
Verwendung und Aufruf
Die Funktion ara::diag::ClientAuthentication::Authenticate wird von einer Applikation aufgerufen, um der Diagnostic-Server-Instanz die erfolgreiche Authentisierung eines Diagnose-Clients mitzuteilen [SWS_DM_01142]. Dies kann nach einer Authentisierung über die Schnittstellen des Diagnostic Servers oder über anwendungseigene Mechanismen erfolgen [SWS_DM_01142].
Als Eingabeparameter nimmt die Funktion userRoles (vom Typ ara::core::Vector<DiagnosticAuthRole>) entgegen. Bei erfolgreichem Aufruf wechselt der Authentisierungsstatus der Instanz zu kAuthenticated und die übergebenen Benutzerrollen werden fest übernommen [SWS_DM_01206]. Als Rückgabewert liefert sie ein ara::core::Result<ClientAuthenticationHandle> [SWS_DM_01142]. Da unmittelbar ein Result-Objekt bereitgestellt wird, dürfte die Verarbeitung synchron im aufrufenden Kontext erfolgen. Frage Q-dae22c82694f2103 (offen)
Fehlerbehandlung und Nebenläufigkeit
Die Methode ist als noexcept deklariert und gilt als ausnahmesicher (exception safe) [SWS_DM_01142]. Tritt ein Fehler auf, weil fundamentale Funktionalitäten des Diagnostic Managers zur Aufrufzeit nicht zur Verfügung stehen, schlägt die Operation mit Rollback-Semantik fehl und liefert DiagErrc::kServiceNotAvailable im Result-Objekt zurück [SWS_DM_01142].
Hinsichtlich der Nebenläufigkeit ist die Methode ausdrücklich als not thread-safe spezifiziert [SWS_DM_01142]. Parallele Aufrufe auf demselben ClientAuthentication-Objekt sind daher unzulässig und müssen durch die Anwendung synchronisiert werden.
Zusammenspiel und Lebenszyklus
Das erhaltene ClientAuthenticationHandle ermöglicht es der Applikation, eine DynamicAccessList für den authentisierten Client zu definieren oder zu erweitern [SWS_DM_01142]. Zudem startet oder referenziert der Aufruf die Inaktivitätsüberwachung des Clients: Bleibt nach erfolgreicher Authentisierung im Standard-Sitzungszustand für die Dauer von authenticationTimeout eine weitere UDS-Anfrage aus, setzt die Diagnostic-Server-Instanz den Client automatisch wieder auf kDeAuthenticated zurück [SWS_DM_01210]. Um diesem Timeout vorzubeugen, kann die Anwendung den Timer über die Methode Refresh des Handles aktualisieren [SWS_DM_01155].
Dieser Text wurde von einer KI auf Basis der AUTOSAR-Spezifikation generiert.
Implementer's Guide folgt (Komplexität 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#ffd39a4b- Content hash
ffd39a4b- 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-medium· 2026-10-13