1
我使用this從輸入流獲取請求參數。 POST在請求正文中使用JSON。在我的onAuthorize
功能,這是覆蓋AuthorizeAttribute
。它確實給我請求體參數,但它清空出流,以便控制器未收到任何請求參數:在自定義AuthorizeAttribute中獲取發佈請求參數
public override void OnAuthorization(AuthorizationContext filterContext)
{
filterContext.HttpContext.Request.InputStream.Length() //17 here
string jsonPostData;
using (var stream = filterContext.HttpContext.Request.InputStream)
{
stream.Position = 0;
using (var reader = new System.IO.StreamReader(stream))
{
jsonPostData = reader.ReadToEnd();
}
}
filterContext.HttpContext.InputStream.Length() //0 here
filterContext.HttpContext.Request.InputStream.Position = 0; // still 0
base.OnAuthorization(filterContext); //so when the request reaches controller its empty
}
我想什麼,我基本上是問的是如何輸入流中讀取它
達林看看我的編輯對我上面貼的代碼,好像它仍然沒有工作 – PUG
如果你沒有在你的授權屬性讀取輸入流,你的控制器中獲得了正確的值? –
是的,我需要閱讀它,因爲它的部分授權多數民衆贊成我如何獲得帳戶ID授權 – PUG