我創(chuàng)建了一個自定義授權(quán)類來驗證用戶令牌。這是網(wǎng)絡(luò) API 2。問題是,自定義授權(quán)驗證了令牌,但之后不執(zhí)行控制器中的方法。驗證令牌后,它應(yīng)該在控制器中執(zhí)行用戶方法。我已經(jīng)調(diào)試了代碼,我可以看到授權(quán)令牌得到了正確驗證,但沒有執(zhí)行該方法,只是返回 200。任何人都可以幫忙嗎?(我是新來的)自定義授權(quán)類代碼:public class CustomAuthorize : System.Web.Http.AuthorizeAttribute { public override void OnAuthorization(System.Web.Http.Controllers.HttpActionContext actionContext) { base.OnAuthorization(actionContext); if (actionContext.Request.Headers.Authorization.Parameter != null) { string authenticationToken = Convert.ToString(actionContext.Request.Headers.Authorization.Parameter); PartnerUserProfile user = new PartnerUserProfile(); user = user.validate_token(authenticationToken); if (user.recordref > 0) //above user has some content and matches the token from validate_token method. it wil be blank if not { return; } else { HttpContext.Current.Response.AddHeader("Bearer", authenticationToken); HttpContext.Current.Response.AddHeader("AuthenticationStatus", "NotAuthorized"); actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.Forbidden); return; } } actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.ExpectationFailed); actionContext.Response.ReasonPhrase = "Please provide valid inputs"; return; } }而我的控制器低于這個永遠(yuǎn)不會被執(zhí)行。 [HttpPost] [CustomAuthorize] public IHttpActionResult user(PartnerUserProfile user) //setUser { ReturnData rd = user.setPartnerUserProfile(); if (rd.status == 0) { return BadRequest("Invalid"); } return Ok(rd); }
- 1 回答
- 0 關(guān)注
- 218 瀏覽
添加回答
舉報
0/150
提交
取消