Kategorie szkoleń | Egzaminy | Kontakt
  • 2
  • 1
  • 48

Witam.

Mam pytanie odnośnie dostosowania widoku metod z mojego serwisu. Problemem jest brak autoryzacji, przez co nie można dodać uprawnień użytkownikowi. Czy jest możliwość z poziomu serwisu ustalić, które adres (ew. pula adresów) będzie miała dostęp do określonych zasobów. Ewentualnie jakaś możliwość dostępu przez parametr.

Z góry dziękuję za odpowiedź.

 

Sławomir_Szymura
  • Zapytał
  • @ Sławomir_Szymura | 07.03.2016
    • 0
    • 0
    • 0

Odpowiedzi (2)

  • 4

Jeśli chodzi o określanie dostępu do zasobów to powinno to być oparte o role, a nie na podstawie tego z jakiego adresu ktoś się łączy.

Po pierwsze gdy zmienią się te adresy to będziesz musiał poprawić web service. A po drugie istnieje niebezpieczeństwo, że ktoś się może podszyć pod adres.

Standardowo rozwiązuje się to za pomocą ról. Czyli użytkownik gdy się loguje do usługi określana jest jest jego rola, np. user, administrator itd. 
Natomiast metody usługi możesz oznaczyć specjalnym atrybutem, który określa jaka jest wymagana rola to wywołania metody. Jeśli ktoś nie posiada odpowiedniej roli to nie wywoła metody.

 

[PrincipalPermission(SecurityAction.Demand, Role =
"Administrators")]
public string AdminsOnly()
{
  // protected code
}

 

Polecam artykuł: http://www.codemag.com/article/0611051 a dokładnie akapit Role-Based Authorization.

 

  • Odpowiedział
  • @ | 18.03.2016
  • TRENER ALTKOM AKADEMII
  • 0

Wielkie dzięki za odpowiedź. Postaram się w przyszłym tygodniu wykonać testy.

Sławomir_Szymura
  • Odpowiedział
  • @ Sławomir_Szymura | 18.03.2016
    • 0
    • 0
    • 0