Como ligar parâmetros de método no atributo personalizado
Eu tenho um atributo personalizado chamado AuthoriseAttribute cujo construtor se parece com isso:
<code>public AuthoriseAttribute(int userId) { .. blah } </code>
Isso é usado com um método chamadoGetUserDetails()
como isso:
<code>[Authorise(????????)] public UserDetailsDto GetUserDetails(int userId) { .. blah } </code>
No tempo de execução, a presença do atributo Authorize faz com que algum código de autorização seja executado, o que requer o ID do usuário. Obviamente, isso pode ser extraído do parâmetro doGetUserDetails()
método, mas isso significa que o código de autorização depende do parâmetro do método receber um nome específico.
Eu gostaria de poder passar o valor real douserId
parâmetro no atributo, para que o código de autorização funcione com o valor passado para o atributo (ou seja, não o parâmetro do método), cujo nome é conhecido.
Algo parecido com isto (o que não funciona):
<code>[Authorise(userId)] public UserDetailsDto GetUserDetails(int userId) { .. blah } </code>
É possível uma coisa dessas?