AuthoriseAttribute というカスタム属性があり、そのコンストラクターは次のようになります。
public AuthoriseAttribute(int userId)
{
.. blah
}
GetUserDetails()
これは、次のように呼び出されるメソッドで使用されます。
[Authorise(????????)]
public UserDetailsDto GetUserDetails(int userId)
{
.. blah
}
実行時に Authorize 属性が存在すると、ユーザーの ID を必要とする認証コードが実行されます。明らかに、これはメソッドのパラメーターから抽出できますが、GetUserDetails()
これは、認証コードが、特定の名前が付けられたメソッドのパラメーターに依存することを意味します。
パラメータの実際の値を属性に渡すことができるようにしたいと考えuserId
ています。これにより、名前がわかっている属性に渡された値 (つまり、メソッド パラメータではない) で認証コードが機能します。
このようなもの(機能しません):
[Authorise(userId)]
public UserDetailsDto GetUserDetails(int userId)
{
.. blah
}
そのようなことは可能ですか?