62,046
社区成员
发帖
与我相关
我的任务
分享
public class AuthFilter : ActionFilterAttribute
{
public override void OnActionExecuting(HttpActionContext actionContext)
{
// 所有维护用api请求都要求验证登录
if (!IsLogined())
{
var username = HttpContext.Current.Request.QueryString["name"];
var password = HttpContext.Current.Request.QueryString["pwd"];
//if (actionContext.ActionArguments != null)
//{
// actionContext.ActionArguments.TryGetValue("user", out username);
// actionContext.ActionArguments.TryGetValue("pwd", out password);
//}
if (!DoLogin(username, password))
{
actionContext.Response = actionContext.Request.CreateResponse(HttpStatusCode.OK, ApiResult.CreateError("未登录"));
return;
}
}
base.OnActionExecuting(actionContext);
}
private bool DoLogin(string userName = "", string md5Pwd = "")
{
// 登录验证
}
private bool IsLogined()
{
// 通过cookie或Session判断是否登录
}
}
[AuthFilter] // 这个Controller下的所有Action都要进行登录
public sealed class ConfigsController : ApiController
{
}
// 这个Controller下有的要登录,有的不要登录
public sealed class ConfigsController : ApiController
{
// 这个方法不用登录
public string Aaa(){
}
// 这个方法要登录
[AuthFilter]
public string Aaa(){
}
}