Բովանդակություն

Ներածություն

LoginService դասը նախատեսված է մուտք գործող օգտագործողին նույնականացնելու և դուրս գալու ֆունկցիոնալությունը ապահովելու համար։

Հատկություններ

IsLoggedIn

public bool IsLoggedIn { get; }

Ցույց է տալիս, արդյոք ընթացիկ պահին կա համակարգ մուտք գործած օգտագործող։

AuthenticationMode

public AuthenticationMode? AuthenticationMode { get; private set; }

Վերադարձնում է նույնականացված օգտագործողի նույնականացման եղանակը։

  • AuthenticationMode.ArmSoft - SQL նույնականացում
  • AuthenticationMode.AD - Active Directory նույնականացում

Username

public string Username { get; private set; }

Վերադարձնում է նույնականացված օգտագործողի մուտքանունը։

Name

public string Name { get; private set; }

Վերադարձնում է նույնականացված օգտագործողի անունը։

IsAdmin

public bool IsAdmin { get; private set; }

Վերադարձնում է նույնականացված օգտագործողի ադմինիստրատոր հանդիսանալու հայտանիշը։

DbName

public string DbName { get; private set; }

Վերադարձնում է այն տվյալների պահոցի անունը, որտեղ ուղղվում են օգտագործողի մուտքի արդյունքում բացված սեսսիայում կատարվող բոլոր հարցումները։

Server

public string Server { get; private set; }

Վերադարձնում է տվյալների պահոցը պարունակող սերվերի անունը։

SessionGuid

public string SessionGuid { get; private set; }

Վերադարձնում է օգտագործողի համակարգ մուտք գործման արդյունքում բացված սեսսիայի id-ն։

ServiceUrlData

public ServiceUrlData ServiceUrlData { get; private set; }

Վերադարձնում է այն սերվիսի տվյալները, որին ուղարկվելու են նույնականացման և նույնականացման արդյունքում բացված սեսսիայի ընթացքում կատարվող Http հարցումները։

ServiceAddress

public string ServiceAddress { get; private set; }

Վերադարձնում է այն սերվիսի հասցեն, որին ուղարկվելու են նույնականացման և նույնականացման արդյունքում բացված սեսսիայի ընթացքում կատարվող Http հարցումները։

Սերվիսի հասցեն անհրաժեշտ է նախապես սահմանել appsettings.json կոնֆիգուրացիոն ֆայլի Storage բաժնի BaseUri դաշտում։

ConfigurationName

public string ConfigurationName { get; private set; }

Այս հատկության արժեքը ցուցադրվում է 8X-ի Status bar-ում։ Սովորաբար որպես արժեք փոխանցվում է տվյալների պահոցի կոնֆիգուրացիայի անունը (օր. Daily build test_bank):

Suid

public short Suid { get; private set; }

Վերադարձնում է նույնականացված օգտագործողի ներքին համարը (կոդ)։

TokenValidToUTC

public DateTime TokenValidToUTC { get; private set; }

Վերադարձնում է օգտագործողի նույնականացման արդյունքում ստեղծված տոկենի վավերականության ավարտի ամսաթիվը/ժամանակը։

RefreshTokenValidToUTC

public DateTime RefreshTokenValidToUTC { get; private set; }

Վերադարձնում է օգտագործողի նույնականացման արդյունքում ստեղծված թարմացման տոկենի վավերականության ավարտի ամսաթիվը/ժամանակը։

MustChangePassword

public bool MustChangePassword { get; private set; }

Ցույց է տալիս, արդյոք օգտագործողը պարտավոր է փոխել իր գաղտնաբառը՝ համակարգ մուտք գործելուց հետո։

PasswordState

public PasswordState? PasswordState { get; private set; }

Վերադարձնում է նույնականացված օգտագործողի գաղտնաբառի վիճակը։

  • PasswordState. - Գաղտնաբառը վավեր է։
  • PasswordState. - Գաղտնաբառը նշանակվել է ադմինի կողմից և ենթակա է փոփոխման:
  • PasswordState. - Գաղտնաբառը ժամկետանց է։

Մեթոդներ

AuthenticateAsync

public Task<Exception> AuthenticateAsync(string serviceAddress, HttpClient httpClient, 
                                         ILogger logger, X509Certificate2 x509Certificate2, 
                                         short apiClientId, string username, string password, 
                                         string configurationName = "", CancellationToken cancellationToken = default)

Նույնականացնում է սերտիֆիկատով նույնականացված կլիենտ ծրագրի օգտագործողի մուտքը համակարգ։

Նույնականացման ձախողման դեպքում վերադարձնում է առաջացած սխալը, հակառակ դեպքում վերադարձնում է null:

Նույնականացման արդյունքում առաջացած տոկենը ստանալու համար անհրաժեշտ է կանչել GetToken մեթոդը։

Պարամետրեր

  • serviceAddress - Սերվիսի հասցեն, որին ուղարկվելու են նույնականացման և նույնականացման արդյունքում բացված սեսսիայի ընթացքում կատարվող Http հարցումները։
  • httpClient - HttpClient դասի օբյեկտ, որը նախատեսված է նույնականացման և նույնականացման արդյունքում բացված սեսսիայի ընթացքում անհրաժեշտ Http հարցումներ կատարելու համար։
  • logger - ILogger դասի օբյեկտ, որը նախատեսված է նույնականացման և նույնականացման արդյունքում բացված սեսսիայի ընթացքում կատարվող Http հարցումներում առաջացած սխալների լոգավորման համար։
  • x509Certificate2 - Սերտիֆիկատ, որն օգտագործվում է կլիենտ ծրագրի նույնականացման համար:
  • apiClientId - Կլիենտ ծրագրի id-ն։
  • username - Կլիենտ ծրագրի օգտագործողի մուտքանունը, որով նույնականացվում է։
  • password - Օգտագործողի գաղտնաբառը։
  • configurationName - Այս պարամետրի արժեքը փոխանցվում է ConfigurationName հատկությանը և ցուցադրվում է 8X-ի Status bar-ում։ Սովորաբար որպես արժեք փոխանցվում է տվյալների պահոցի կոնֆիգուրացիայի անունը (օր. Daily build test_bank):
  • cancellationToken - Ընդհատման օբյեկտ։

Authenticate

public Exception Authenticate(string serviceAddress, HttpClient httpClient, 
                              ILogger logger, X509Certificate2 x509Certificate2, 
                              short apiClientId, string username, string password, 
                              string configurationName = "")

Նույնականացնում է սերտիֆիկատով նույնականացված կլիենտ ծրագրի օգտագործողի մուտքը համակարգ։

Նույնականացման ձախողման դեպքում վերադարձնում է առաջացած սխալը, հակառակ դեպքում վերադարձնում է null:

Նույնականացման արդյունքում առաջացած տոկենը ստանալու համար անհրաժեշտ է կանչել GetToken մեթոդը։

Պարամետրեր

  • serviceAddress - Սերվիսի հասցեն, որին ուղարկվելու են նույնականացման և նույնականացման արդյունքում բացված սեսսիայի ընթացքում կատարվող Http հարցումները։
  • httpClient - HttpClient դասի օբյեկտ, որը նախատեսված է նույնականացման և նույնականացման արդյունքում բացված սեսսիայի ընթացքում անհրաժեշտ Http հարցումներ կատարելու համար։
  • logger - ILogger դասի օբյեկտ, որը նախատեսված է նույնականացման և նույնականացման արդյունքում բացված սեսսիայի ընթացքում կատարվող Http հարցումներում առաջացած սխալների լոգավորման համար։
  • x509Certificate2 - Սերտիֆիկատ, որն օգտագործվում է կլիենտ ծրագրի նույնականացման համար:
  • apiClientId - Կլիենտ ծրագրի id-ն։
  • username - Կլիենտ ծրագրի օգտագործողի մուտքանունը, որով նույնականացվում է։
  • password - Օգտագործողի գաղտնաբառը։
  • configurationName - Այս պարամետրի արժեքը փոխանցվում է ConfigurationName հատկությանը և ցուցադրվում է 8X-ի Status bar-ում։ Սովորաբար որպես արժեք փոխանցվում է տվյալների պահոցի կոնֆիգուրացիայի անունը (օր. Daily build test_bank):

AuthenticateAsync

public Task<Exception> AuthenticateAsync(string serviceAddress, HttpClient httpClient, 
                                         ILogger logger, short apiClientId, string secret, 
                                         string username, string configurationName = "", 
                                         CancellationToken cancellationToken = default)

Նույնականացնում է բանալիով նույնականացված կլիենտ ծրագրի օգտագործողի մուտքը համակարգ։

Նույնականացման ձախողման դեպքում վերադարձնում է առաջացած սխալը, հակառակ դեպքում վերադարձնում է null:

Նույնականացման արդյունքում առաջացած տոկենը ստանալու համար անհրաժեշտ է կանչել GetToken մեթոդը։

Պարամետրեր

  • serviceAddress - Սերվիսի հասցեն, որին ուղարկվելու են նույնականացման և նույնականացման արդյունքում բացված սեսսիայի ընթացքում կատարվող Http հարցումները։
  • httpClient - HttpClient դասի օբյեկտ, որը նախատեսված է նույնականացման և նույնականացման արդյունքում բացված սեսսիայի ընթացքում անհրաժեշտ Http հարցումներ կատարելու համար։
  • logger - ILogger դասի օբյեկտ, որը նախատեսված է նույնականացման և նույնականացման արդյունքում բացված սեսսիայի ընթացքում կատարվող Http հարցումներում առաջացած սխալների լոգավորման համար։
  • apiClientId - Կլիենտ ծրագրի id-ն։
  • secret - Բանալի, որն օգտագործվում է կլիենտ ծրագրի նույնականացման համար:
  • username - Կլիենտ ծրագրի օգտագործողի մուտքանունը, որով նույնականացվում է։
  • configurationName - Այս պարամետրի արժեքը փոխանցվում է ConfigurationName հատկությանը և ցուցադրվում է 8X-ի Status bar-ում։ Սովորաբար որպես արժեք փոխանցվում է տվյալների պահոցի կոնֆիգուրացիայի անունը (օր. Daily build test_bank):
  • cancellationToken - Ընդհատման օբյեկտ։

Օրինակ

Տե՛ս օգտագործման օրինակը։

Authenticate

public Exception Authenticate(string serviceAddress, HttpClient httpClient, 
                              ILogger logger, short apiClientId, string secret, 
                              string username, string configurationName = "")

Նույնականացնում է բանալիով նույնականացված կլիենտ ծրագրի օգտագործողի մուտքը համակարգ։

Նույնականացման ձախողման դեպքում վերադարձնում է առաջացած սխալը, հակառակ դեպքում վերադարձնում է null:

Նույնականացման արդյունքում առաջացած տոկենը ստանալու համար անհրաժեշտ է կանչել GetToken մեթոդը։

Պարամետրեր

  • serviceAddress - Սերվիսի հասցեն, որին ուղարկվելու են նույնականացման և նույնականացման արդյունքում բացված սեսսիայի ընթացքում կատարվող Http հարցումները։
  • httpClient - HttpClient դասի օբյեկտ, որը նախատեսված է նույնականացման և նույնականացման արդյունքում բացված սեսսիայի ընթացքում անհրաժեշտ Http հարցումներ կատարելու համար։
  • logger - ILogger դասի օբյեկտ, որը նախատեսված է նույնականացման և նույնականացման արդյունքում բացված սեսսիայի ընթացքում կատարվող Http հարցումներում առաջացած սխալների լոգավորման համար։
  • apiClientId - Կլիենտ ծրագրի id-ն։
  • secret - Բանալի, որն օգտագործվում է կլիենտ ծրագրի նույնականացման համար:
  • username - Կլիենտ ծրագրի օգտագործողի մուտքանունը, որով նույնականացվում է։
  • configurationName - Այս պարամետրի արժեքը փոխանցվում է ConfigurationName հատկությանը և ցուցադրվում է 8X-ի Status bar-ում։ Սովորաբար որպես արժեք փոխանցվում է տվյալների պահոցի կոնֆիգուրացիայի անունը (օր. Daily build test_bank):

Օրինակ

Տե՛ս օգտագործման օրինակը։

GetToken

public string GetToken(TimeSpan? timeSpan = null)

Վերադարձնում է օգտագործողի նույնականացման արդյունքում ստեղծված տոկենը, որը օգտագործվում է օգտագործողի կողմից կատարված հարցումների նույնականացման համար։

Տոկենի վավերականության ժամկետի ավարտի դեպքում տոկենը ավտոմատ թարմացվում է և վերադարձվում թարմացված տոկենը։

Պարամետրեր

  • timeSpan - Եթե տոկենի վավերականության ավարտին մնացել է ավելի քիչ ժամանակ, քան նշված է այս պարամետրում, ապա տոկենը թարմացնում է և վերադարձնում է թարմացված տոկենը։ Դատարկ արժեքի դեպքում տոկենը թարմացնում է այն դեպքում, երբ տոկենի վավերականության ավարտին մնացել է 2 րոպե կամ ավելի քիչ ժամանակ։

Logout

public void Logout()

Դուրս է հանում ընթացիկ օգտագործողին համակարգից, փակում օգտագործողի սեսսիան և հեռացնում սեսսիայի ընթացքում առաջացած ժամանակավոր ֆայլերը, ընդհատում ընթացիկ job-երը։