에 속성에서 데이터를 전달 여기 내 시나리오입니다 :사용자 정의 IIdentity 및 컨트롤러
내가 성공적으로 나는 GenericPrincipal에 전달 사용자 정의 IIdentity을 만들었습니다. 내 컨트롤러에서 해당 IIdentity에 액세스 할 때 사용자 지정 속성을 사용하려면 IIdentity를 캐스팅해야합니다. 예 :
public ActionResult Test()
{
MyCustomIdentity identity = (MyCustomIdentity)User.Identity;
int userID = identity.UserID;
...etc...
}
나는 거의 모든 행동이 캐스팅을 할 필요가 있기 때문에 내가 ActionFilterAttribute에서이 기능을 래핑하고 싶습니다. 컨텍스트가 아직 초기화되지 않았으므로 컨트롤러의 생성자에서이를 수행 할 수 없습니다. 내 생각은 ActionFilterAttribute가 각 동작 메서드에서 사용할 수있는 컨트롤러의 개인 속성을 채우는 것입니다. 예 :
public class TestController : Controller
{
private MyCustomIdentity identity;
[CastCustomIdentity]
public ActionResult()
{
int userID = identity.UserID;
...etc...
}
}
질문 : 가능한가요? 더 나은 해결책이 있습니까? 나는 컨트롤러에 속성으로 채워진 public 속성을 전달하는 방법을 알아 내려고 노력했는데 얻을 수 없다.