Web api - dodanie autentykacji

Odpowiedz Nowy wątek
2018-11-19 15:53
adaś
0

Cześć, chciałbym dodać bardzo prostą autentykację do mojego projektu.
W bazie mam pole login (int), password(string)

w jednym z controllerów zwracam (po podaniu poprawnych danych)
token (który tworzy się w bazie, ma swój "deadline"), ale teraz chciałbym, aby ten token był wysyłany w wielu kontrolerach.
Co zrobić, aby uniknać ręcznego dodawania tokena i sprawdzania w każdym z zapytań (na poziomie kontrolera) czy token jest prawidłowy?
Kontroler autentykacji miałby metodę sprawdzającą, czy podany token zgadza się z id-usera (tu już jakaś logika, przykładowo każdy zalogowany user może korzystać z serwisu X, natomiast z serwisu Y, gdzie operuje na loginie (id) musi sie zgadzać id-usera i token)

chciałbym uniknąć takiej postaci w każdej z kontrolerów

public void DoSomething([FromHead]string token, [FromBody] SomeData data)
{
      if(! (authService.Confirmed(token, data.UserId))
         throw new SecuiryException(...)
}

mam BasicController po którym dziedziczą wszystkie inne controllery,
ale jak zrobić, żeby przy każdym zapytaniu w każdym controllerze magicznie działał mój basicController który by na starcie robił autentykację?

uwierzytelnianie, nie żadna autektykacja. - Patryk27 2018-11-19 17:33
https://pl.wikipedia.org/wiki/Uwierzytelnianie - W użyciu są również niezalecane przez normatywistów określenia autentykacja, autentyfikacja, będące kalkami z języka angielskiego - cerrato 2018-11-19 17:57
@Patryk27: widzę, że dodaliśmy to samo ;) Wybacz. - cerrato 2018-11-19 17:57

Pozostało 580 znaków

2018-11-19 17:48
1

Poczytaj o token based authentication. Najbardziej popularne teraz jest JWT. Logikę sprawdzania czy token jest prawidłowy najczęsciej realizuje się w atrybutach.

edytowany 1x, ostatnio: error91, 2018-11-19 17:49

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0