Open Burgyn opened 8 years ago
Ahojte chalani.
Na poslednom stretku ste spomínali, že máte v pláne použiť vlastné tabuľky pre správu používateľov a rolí.
Ak sa teda nerozhodnete používať tie defaultne (som jednoznačne za :-) ) tak prosím zmente aby náš ApplicationDbContext
nededil z IdentityDbContext
a zrušte aj príslušnú migráciu. Pretože to robí len problémy. Nahlásil som im to, ale ešte nereagovali. IdentityDbContext Migration problem
Dik.
Majo perfektný príklad si pridal: http://chsakell.com/2016/01/01/cross-platform-single-page-applications-with-asp-net-5-angular-2-typescript/ ...týmto smerom pojdeme ako je tu urobená autehenifikácia...
To pridal Miňo, ja som iba zaktualizoval link ;-)
Chalani potrebovali by sme poradit, pri volani metody Login v controleri AuthenticationController vetva: PrihlasovanieApi. Objekt user Login([FromBody] LoginViewModel user) mi nevytvori mam null. Kde mam chybu ?
Volam: POST http://localhost:49781/api/Authentication/authenticate Body raw - json(application/json): {"Username":"Jozko", "Password":"superTajneHeslo", "RememberMe":"aaaa"}
Ahojte,
ešte som to nekukal v kóde. Ale podľa toho čo píšeš mi príde, že je to tím, že posielaš RememberMe = "aaaa" a pritom typujem, že RememberMe je na strane servera typu bool. Takže sa mu nepodarí deserializovať JSON.
Ale to je len typ z toho čo vidím v tomto príspevku. Ak to tým nie je tak daj vedieť a večer to kuknem.
On 21 March 2016 at 18:39, motycak notifications@github.com wrote:
Chalani potrebovali by sme poradit, pri volani metody Login v controleri AuthenticationController vetvi: PrihlasovanieApi. Objekt user Login([FromBody] LoginViewModel user) mi nevytvori mam null. Kde mam chybu ?
Volam: POST http://localhost:49781/api/Authentication/authenticate Body raw - json(application/json): {"Username":"Jozko", "Password":"superTajneHeslo", "RememberMe":"aaaa"}
— You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub https://github.com/FunnyBean/IntraWeb/issues/13#issuecomment-199395242
Prajem pekný zvyšok dňa, Ing. Milan Martiniak
...presne ako píšeš, ...ja som mal preklep... diky Miňo
Nemáš zač.
On 21 March 2016 at 21:46, motycak notifications@github.com wrote:
...presne ako píšeš, ...ja som mal preklep... diky Miňo
— You are receiving this because you authored the thread. Reply to this email directly or view it on GitHub https://github.com/FunnyBean/IntraWeb/issues/13#issuecomment-199474561
Prajem pekný zvyšok dňa, Ing. Milan Martiniak
Ahojte, narazil som na zaujímavý blog ohľadom authentifikácie
Na ukladanie hesla sa už neodporúčajú štandardné hashovacie funkcie (MD5, SHA...). Nielen kvôli bezpečnosti, ale aj kvôli rýchlosti - sú príliš rýchle a tak vhodné na brute force útok. Odporúča sa používať BCrypt. Pri ňom je možné určiť háročnosť hešovania (work factor), čo výrazne spomalí vytvorenie hešov a teda úplne znemožní brute force útok. Odmeral som si to u seba a vygenerovanie 100 hešov použitím SHA256 (tak ako je to teraz) trvalo menej ako tisícinu sekundy. 100 hešov použitím BCrypt s náročnosťou 10 trvalo 25 sekúnd. Zvyšovaním čísla náročnosti rastie potrebný výpočtový výkon exponenciálne. Pre produkciu by som pokojne dal 13 (v takomto prípade na mojom počítači trvá jeden heš cca 2 sekundy :smile:). Pre .NET Core je NuGet balíček BCrypt.NET-Core. Ďalšou výhodou je, že BCrypt automatikcy sám generuje salt, takže nie je potrebné sa o toto starať. Zjednodučí sa tým aj model, keďže nie je potrebná vlastnosť Salt a ani prípadný taký stĺpec v databáze. Použitie je veľmi jednoduché:
Vytvorenie hešu: BCrypt.HashPassword("heslo na zahešovanie", 13)
Overenie hesla pri prihlásení: BCrypt.Verify("heslo čo zadal používateľ", "uložený heš hesla")
V projekte som si fšimol nejaké nepoužívané triedy: StatusCodeResult, LoggingRepository (je to rovnaké ako UserRepository), ILoggingRepository, ApplicationUser. Nie je dobré sa ich zbaviť, nech zbytočne ľloveka nemätú?
UI pre prihlasovanie sa rieši v issue #21
ASP.NET 5 Authorization Zaujímavý článok