Jak podłączyć parametry metody do atrybutu niestandardowego
Mam niestandardowy atrybut o nazwie AuthoriseAttribute, którego konstruktor wygląda tak:
<code>public AuthoriseAttribute(int userId) { .. blah } </code>
Jest to używane przy użyciu metody zwanejGetUserDetails()
lubię to:
<code>[Authorise(????????)] public UserDetailsDto GetUserDetails(int userId) { .. blah } </code>
W czasie wykonywania obecność atrybutu Autoryzacja powoduje wykonanie kodu autoryzacji, który wymaga identyfikatora użytkownika. Oczywiście można to wyodrębnić z parametruGetUserDetails()
metoda, ale oznacza to, że kod autoryzacji zależy od tego, czy parametrowi metody nadano konkretną nazwę.
Chciałbym móc przekazać rzeczywistą wartośćuserId
parametr do atrybutu, tak aby kod autoryzacji działał z wartością przekazaną do atrybutu (tj. nie parametrem metody), którego nazwa jest znana.
Coś takiego (co nie działa):
<code>[Authorise(userId)] public UserDetailsDto GetUserDetails(int userId) { .. blah } </code>
Czy to możliwe?