在这里我写的是小型身份验证
public override void OnAuthorization
(System.Web.Http.Controllers.HttpActionContext actionContext)
{
var authenticationTokenPersistant = "abc";
base.OnAuthorization(actionContext);
if (actionContext.Request.Headers.GetValues("Authorization") != null)
{
string authenticationToken = Convert.ToString(
actionContext.Request.Headers
.GetValues("Authorization").FirstOrDefault());
authenticationTokenPersistant = authenticationToken;
if (authenticationTokenPersistant == authenticationToken)
{
HttpContext.Current.Response.AddHeader("Authorization", authenticationToken);
HttpContext.Current.Response.AddHeader("AuthenticationStatus", "NotAuthorized");
actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.OK);
return;
}
HttpContext.Current.Response.AddHeader("Authorization", authenticationToken);
HttpContext.Current.Response.AddHeader("AuthenticationStatus", "Authorized");
return;
}
actionContext.Response = actionContext.Request
.CreateResponse(HttpStatusCode.ExpectationFailed);
actionContext.Response.ReasonPhrase = "Please provide valid inputs";
}
此函数我装饰了CustomAuthorize,它执行我的函数,但允许我在ValidateSession()中输入
[CustomAuthorize]
public IHttpActionResult ValidateSesion()
{
return ok("Success..");
}
当我得到200条响应时,即使我进入屋内