IOBERONLoyaltySystemServiceLoginUser Method |  |
Prihlási používateľa do webovej služby (záleží však na nastavení spôsobu autentifikácie služby). Je potrebné volať na začiatku komunikácie s webovou službou,
nakoľko sa generuje tzv. GUID pre ďalšiu komunikáciu (ten musí byť súčasťou hlavičky danej požiadavky).
Namespace: Exa.OBERON.ServicesAssembly: Exa.OBERON.Services (in Exa.OBERON.Services.dll) Version: 5.0.33.0 (5.0.33.0)
SyntaxOBERONLoyaltySystemClientWS_ResultValue<string> LoginUser(
OBERONLoyaltySystemClientWS_LoginDataParameters LoginDataParameters
)
Function LoginUser (
LoginDataParameters As OBERONLoyaltySystemClientWS_LoginDataParameters
) As OBERONLoyaltySystemClientWS_ResultValue(Of String)
Dim instance As IOBERONLoyaltySystemService
Dim LoginDataParameters As OBERONLoyaltySystemClientWS_LoginDataParameters
Dim returnValue As OBERONLoyaltySystemClientWS_ResultValue(Of String)
returnValue = instance.LoginUser(LoginDataParameters)
Parameters
- LoginDataParameters OBERONLoyaltySystemClientWS_LoginDataParameters
- Prihlasovacie údaje (meno, heslo) a ďalšie doplnkové prihlasovacie údaje.
Return Value
OBERONLoyaltySystemClientWS_ResultValueStringV ResultValue.Data vracia v prípade úspešného prihlásenia tzv. GUID daného používateľa (session používateľa), ktorý je nevyhnutný pre ďalšiu komunikáciu (musí byť súčasťou hlavičky danej požiadavky).
Remarks
Pri prihlásení používateľa nezabezpečenou komunikáciou (HTTP - nezabezpečená, HTTPS -> zabezpečená) môže pri odpočúvaní komunikácie útočník pomerne ľahko zistiť
prihlasovacie údaje (hlavne heslo). Čiastočne to rieši systém zasielania hesla len vo forme HASH (OBERON používa SHA-1),
avšak pri slabých (krátkych) heslách je veľmi jednoduché pomocou hashovacích tabuliek (databáz) získať aj takého heslo.
Z tohoto dôvodu je možné zasielané heslo "obohatiť" o SALT a tým znemožniť využitie hashovacích tabuliek (volaním
metódy
GetLoginSalt je možné získať SALT - potom sa zasiela silnejší HASH).
Heslo môže byť zasielané aj vo formáte ako "čistý text" - to je možné dosiahnuť tak, že server vráti v metóde
GetLoginSalt prázdny SALT.
Po úspešnom prihlásení sa v ďalších požiadavkách na webovú službu musí v hlavičke dopytu uvádzať daný GUID, podľa ktorého sa overuje daná požiadavka.
Príklad hash-ovania hesla s použitím SALT vo VB.NET
Public Class ServiceClient
Private Function GetPasswordHashSHA1(ByVal u_Password As String, ByVal u_Salt As String) As String
On Error Resume Next
Dim tmp_Password As String
If u_Salt = String.Empty Then
tmp_Password = u_Password
Else
tmp_Password = u_Salt & u_Password
End If
Dim m_SHA1 As New System.Security.Cryptography.SHA1Managed
Dim m_bInput() As Byte = System.Text.Encoding.Default.GetBytes(tmp_Password)
Dim m_bOutput() As Byte
Dim tmp_PasswordHashSHA1_Local As String
m_bOutput = m_SHA1.ComputeHash(m_bInput)
tmp_PasswordHashSHA1_Local = System.BitConverter.ToString(m_bOutput)
tmp_PasswordHashSHA1_Local = tmp_PasswordHashSHA1_Local.Replace("-", "")
tmp_PasswordHashSHA1_Local = tmp_PasswordHashSHA1_Local.ToLower
Return tmp_PasswordHashSHA1_Local
End Function
End Class
See Also