Article View: pl.comp.lang.delphi
Article #346717Re: Delphi + Kerberos + SSO
From: Sivy
Date: Fri, 31 Aug 2018 13:31
Date: Fri, 31 Aug 2018 13:31
79 lines
3566 bytes
3566 bytes
W dniu 28.08.2018 o 10:35, ExM pisze: > W dniu czwartek, 16 sierpnia 2018 16:02:57 UTC+2 użytkownik Sivy napisał: >> Witam >> >> Mam aplikację, która muszę uwierzytelnić przy pomocy Kerberosa i SSO >> (single sign on). >> >> Ktoś wie czy są do tego jakieś komponenty czy kod dzięki któremu bym >> mógł to osiągnąć ? >> >> Za każdą wskazówkę będę wdzięczny. >> >> Delphi 2007 a po stronie serwera Windows serwer 2012R2. >> > > Przyglądnij się tej funkcji (działa na każdym Delphi). W ten sposób możesz zweryfikować czy użytkownik został autoryzowany przez system. Reszta to tylko kwestia ustalenia w twojej aplikacji czy danego użytkownika akceptujesz. (Domena jest opcjonalna - bez niej nie ustalisz czy logowanie było lokalnym kontem czy domenowym) > > > //--------------------------------------------------------------------------------------------------------------------+ > //Funckja za pomocą API realizuje proces logowania sprawdzając czy podane dane zostały poprawnie zweryfikowane > //Parametry wywołania: > // [_login] - login użytkownika > // [_password] - hasło użytkownika > // [_domain] - domea użytkownika > // [token] - wygenerowany przez system token autoryzacji > // [msg] - zwrócony przez funkcję komunikat > // > //v1.0 z 24.11.2017 by ExM > //--------------------------------------------------------------------------------------------------------------------+ > function CheckUserPassword(_login, _password, _domain: string; var token:THandle; var msg:string): Boolean; > var > _error:integer; > begin > result:=false; > msg:=''; > > if (_login='') then Begin > msg:='NOLOGIN'; > exit; > end; > > if (_password='') then begin > msg:='NOPASSWORD'; > exit; > end; > > result := LogonUser(PChar(_login), > PChar(_domain), > PChar(_password), > LOGON32_LOGON_INTERACTIVE, // first check interactive > LOGON32_PROVIDER_DEFAULT, > token); > > if not result then begin > result := LogonUser(PChar(_login), > PChar(_domain), > PChar(_password), > LOGON32_LOGON_NETWORK, // then check against network > LOGON32_PROVIDER_DEFAULT, > token); > end; > > if not result then begin > _error:=GetLastError; > msg:=SysErrorMessage(_error); > end; > > end; > Witam Dzięki za odpowiedź, ale w Kerberosie chodzi o coś innego a po dodaniu SSO to już się całkowicie wszystko zmienia. Ja potrzebuję pracy w domenie i tylko w niej, lokalne konta tutaj się nie sprawdzą. Pozdrawiam -- Sivy
Technical Details
Message-ID:
<pmbg0c$9qj$1@node2.news.atman.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mailReferences:
<pl406g$dk5$1@node1.news.atman.pl> <319f6b69-4b9b-40ca-9033-3cfc2c227274@googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail From: Sivy <another@NOSPAMpoczta.fm> Newsgroups: pl.comp.lang.delphi Subject: Re: Delphi + Kerberos + SSO Date: Fri, 31 Aug 2018 15:31:56 +0200 Organization: ATMAN - ATM S.A. Lines: 79 Message-ID: <pmbg0c$9qj$1@node2.news.atman.pl> References: <pl406g$dk5$1@node1.news.atman.pl> <319f6b69-4b9b-40ca-9033-3cfc2c227274@googlegroups.com> NNTP-Posting-Host: 46.77.92.201 Mime-Version: 1.0 X-Trace: node2.news.atman.pl 1535722316 10067 46.77.92.201 (31 Aug 2018 13:31:56 GMT) X-Complaints-To: usenet@atman.pl NNTP-Posting-Date: Fri, 31 Aug 2018 13:31:56 +0000 (UTC) User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 In-Reply-To: <319f6b69-4b9b-40ca-9033-3cfc2c227274@googlegroups.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit