Navigace:  MobilChange™ - Dokumentace > Administrace a funkčnost MobilChange™ > Administrátorské nástroje > Popis MobilChange > Serverové části > Základní serverové části > Knihovny > MxWebServiceAuthenticator > MxWebServiceAuthenticator >

Funkce

Předchozí stránkaDomůDalší stránka

listBasic http autorizace jménem a heslem

listSSL certifikátem

listNahrávání a obnovování seznamu uživatelů a jejich hesel


 

 

 

 

 

Basic http autorizace jménem a heslem

Účelem této funkce je autorizovat uživatele webové služby, který se přihlašuje možností typu "Basic", tedy jménem a heslem. Tzn., že v http hlavičce je pole "Authorization" s hodnotou "Basic dHp6emVzdDM6dGVzdDM=", kde 'dHp6emVzdDM6dGVzdDM=' je zakódované jméno a heslo jako pole bytů Base64 řetězce.

Komponenta si uchovává seznam všech uživatelů UMS a jejich hesla a pravidelně tento seznam obnovuje. Jako přihlašovací jméno se používá sloupec EMAIL, jako heslo sloupec PASSWORD z tabulky UMS_USER.

Pro autorizaci platí tato pravidla:

Přihlašovací jméno se porovnává case insensitive, heslo case sensitive.

Pokud je přihlašovací jméno a/nebo heslo prázdný řetězec, je autorizace odmítnuta.

Pokud je přihlašovací jméno nalezeno v seznamu uživatelů UMS a zároveň se hesla shodují, pak je autorizace přijata. Pokud uživatel není autorizován je mu poslána odpověd se kódem 401 - Access Denied.

Všechny žádosti o autorizaci a jejich výsledky (úspěch/neúspěch) jsou logovány.

 

 

SSL serverovým certifikátem (nastavuje se v IIS)

 

 

 

IP adresa - White/Black list (nastavuje se v IIS)

 

 

Autorizace pomocí tokenu

Pomocí tokenu lze autorizovat uživatele tak že posílá vygenerovaný token v rámci  příkazu pro každou komunikaci ze serverm.

Každému uživateli musí bý generován samostatný tóken.

Tóken je uložen v tabulce UMS_WEBSERVICE_TOKEN

 

Název sloupce        Datový typ        Délka        Null        Popis

ID        int                Ne        identity sloupec (autoincrement)

UMS_USER_ID        int                Ano        vazba na UMS_USER.ID (uživatel UMS)

TOKEN        char        32        Ano        token (jednoznačný identifikátor, GUID)

 

 

Příklad vygenerování tokenu pro uživatele $Auzivatel@email.cz[editovat]

 

Přepište e-mail na druhém řádku a spusťte skript proti databázi UMS. Pokud skript vrátí NULL, uživatel nebyl podle e-mailu nalezen v UMS_USER. Jinak vrátí Token, tzn. 32 znaků dlouhý řetězec. Opakované spuštění nepůsobí škodu, vrací stále ten samý Token.

 

declare @email varchar(255)

set @email = '$Auzivatel@email.cz'

declare @token char(32)

declare @newtoken char(32)

SELECT @token = UMS_WEBSERVICE_TOKEN.TOKEN

FROM UMS_USER

LEFT OUTER JOIN UMS_WEBSERVICE_TOKEN ON UMS_WEBSERVICE_TOKEN.UMS_USER_ID = UMS_USER.ID

WHERE UPPER(UMS_USER.EMAIL) = UPPER(@email)

if @token IS NULL

begin

  SELECT @newtoken = UPPER(REPLACE(CAST(NEWID() AS VARCHAR(36)), '-', ''))

  INSERT INTO UMS_WEBSERVICE_TOKEN(UMS_USER_ID, TOKEN)

  SELECT ID, @newtoken

  FROM UMS_USER

  WHERE UPPER(UMS_USER.EMAIL) = UPPER(@email)

  SELECT @token = UMS_WEBSERVICE_TOKEN.TOKEN

  FROM UMS_USER

  LEFT OUTER JOIN UMS_WEBSERVICE_TOKEN ON UMS_WEBSERVICE_TOKEN.UMS_USER_ID = UMS_USER.ID

  WHERE UPPER(UMS_USER.EMAIL) = UPPER(@email)

end

SELECT @token

 

 

 

 

Nahrávání a obnovování seznamu uživatelů a jejich hesel

Seznam jmen uživatelů a hesla se načítají z databáze UMS. Tabulka UMS_USER, sloupce EMAIL a PASSWORD.

Obnovování tohoto seznamu probíhá pravidelně v časovém intervalu, který je daný konfigurační hodnotou RefreshPeriod.