MVC 4 프로젝트를 사용하여 API 용 기본 컨트롤러를 만들었습니다. 모든 것이 효과가 있지만 효율적이기 때문에 OnAuthorization 메서드에서 기본 컨트롤러의 일부 사용자 지정 속성에 액세스 할 수 있어야합니다. 액세스 토큰이 유효한지 확인하기 위해 일부 SQL 쿼리를 수행해야합니다. Id는이 쿼리를 한 번 만들고 컨트롤러에 속성으로 객체를 저장하므로 나중에 쿼리를 다시 수행 할 필요없이 액세스 할 수 있습니다.AuthorizeAttribute 메서드의 ASP.NET 액세스 컨트롤러 속성
요컨대, 이것이 내가하고 싶은 일입니다.
[APIActionFilter]
public class APIBaseController : ApiController
{
public APIClient client;
public class APIActionFilter : System.Web.Http.AuthorizeAttribute
{
public override void OnAuthorization(HttpActionContext filterContext)
{
//get data from the database.
Controller.client = objectmadefromdb;
}
}
}
어딘가에 전달 된이 객체에 대한 참조가 있어야합니까?
check'filterContext.ControllerDescriptor' – Nkosi
얼마나 도움이 될지 모르겠지만 사용자 정의 권한 부여 특성에서 데이터베이스 호출과 비슷한 작업을 수행했습니다. 참조 : [SO link] (http://stackoverflow.com/questions/29172150/custom-webapi-authorization-database-call) – MisterIsaak