2012-06-24 4 views
1

안녕,AuthorizeAttribute에서 소식 데이터를 가져 옵니까?

가 나는 행동에 사용자를시키는 데이터가 유효성을 검사하지 않는 경우에, 나는 다른 행동을 리디렉션 할 필요가 전에 일부 데이터의 유효성을 검사하려고 생각합니다.

질문은 AuthorizeAttribute 내에서 작업에 전송되는 게시물 데이터를 얻는 방법입니다.

+0

그냥 이해합니다 ... 컨트롤러에서 동작하는 POST 요청을 받기를 원할 경우 HTTP POST 요청 양식 컬렉션에서 수화 된 모델이 유효한지 확인하십시오. 모델이 유효하지 않은 경우 사용자를 다른 작업으로 리디렉션 하시겠습니까? –

답변

0

요청하신 내용이 맞는지 잘 모르겠지만이 경우 MyAuthorizeAttribute에서 요청한 데이터에 액세스 할 수 있습니다.

[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = true, Inherited = true)] 
public class MyAuthorizeAttribute : FilterAttribute, IAuthorizationFilter 
{ 
    public void OnAuthorization(AuthorizationContext filterContext) 
    { 
     var httpContext = filterContext.RequestContext.HttpContext; 
     var request = httpContext.Request; 
     // do stuff with request 
    } 
} 

그러면 요청에서 보낸 모든 데이터를 얻을 수 있습니다.

+0

그래, httpContext.Request.Form에서 찾았지만 값을 viewObject로 얻지는 않는다. 대신에 나중에 뷰 클래스로 파싱되는 데이터를 얻기 위해 사전을 봐야 할 것이다. – Banshee

+0

예,'httpContext.Request.Form' ('NameValueCollection')에서 양식 값을 가져 오거나'httpContext.Request.QueryString' (또한'NameValueCollection')을 사용하여 QueryString에서 값을 얻을 수 있습니다 –

+0

그래요. 뷰 객체에 파싱 된 데이터를 가져올 방법이 없습니까? – Banshee

관련 문제