- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在验证存储在 cookie 上的 token ,所以我创建了一个类
public class VIEWAuthorizeAttribute : AuthorizeAttribute
然后我覆盖了 OnAuthorization 类
public override void OnAuthorization(AuthorizationContext filterContext)
{
var cookie = filterContext.HttpContext.Request.Cookies.Get("Profile"); //This is working
if (cookie != null && IsValidToken(cookie["Token"]))
{
return;
}
HandleUnauthorizedRequest(filterContext);
}
这适用于 MVC Controller ,但当我尝试对 Web API Controller 执行类似操作时,我无法从请求中获取 cookie。
public override void OnAuthorization(HttpActionContext actionContext)
{
var foo = actionContext.Request.Headers.Cookies; //that is not working
if (Authorize(actionContext))
{
return;
}
HandleUnauthorizedRequest(actionContext);
}
actionContext.Request.Headers
没有方法 Cookies
,我也试过 actionContext.Request.Headers.GetCookies("Bar")
像这样answer , 但 Header 没有 GetCookies
方法。
有什么想法吗?
最佳答案
string Authentication = string.Empty;
if (actionContext.Request.Headers.Contains("Cookie_Phone"))
{
Authentication = actionContext.Request.Headers.GetValues("Cookie_Phone")?.FirstOrDefault();
}
关于c# - 如何从 AuthorizeAttribute 自定义类的 HttpActionContext 获取 cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51501491/
我有一个自定义授权属性,如下所示,我正在尝试编写单元测试来测试其功能。 public override void OnAuthorization(System.Web.Http.Control
我正在我的 Web API 应用程序上运行一些负载测试,并试图找到一种方法来识别每个请求,因为它进入方法 OnActionExecuted 和 OnActionExecuting 我的问题是,在对象
编辑:我改变了我的方法。现在我正在使用消息处理程序。感谢 Raciel,他指出了挖掘的方向。 这些链接对我来说非常有用: MessageHandlers overview Using own Prin
我试图在 MVC4/Razor 中创建自定义授权属性,但在自定义授权属性下运行的“AllowAnnoymous”属性出现问题(它似乎忽略了它)。这一切都很好,花花公子,因为我找到了一个解决方案(见下文
我有一个自定义的 AuthorizationFilterAttribute 来检查客户端应用程序是否已获得使用 API 的授权。 作为“OnAuthorization”的一部分,我想在 Web 应用程
当我向 api Controller 添加过滤器属性时,它不起作用,因为使用了 ActionExecutingContext。当我找到必须使用 HttpActionContext 的解决方案时,它工作
这个问题在这里已经有了答案: Can I access IIdentity from Web API (4 个回答) 8年前关闭。 我需要在我的操作过滤器中访问当前登录的用户 .身份由 Delegat
我正在使用 asp.net mvc 4 rest 并编写我自己的 basec 身份验证逻辑。 public override void OnActionExecuting(System.Web.Ht
我正在尝试访问使用 POST 方法 (WebClient) 发送到 ASP.NET MVC 5 中的 Web API 的查询字符串参数(在覆盖的 AuthorizationFilterAttribut
我正在尝试在 ASP.Net Web API 中创建自定义 AuthorizeAttribute 来处理基本身份验证。覆盖 HandleUnauthorizedRequest 时,我发现 HttpAc
我正在验证存储在 cookie 上的 token ,所以我创建了一个类 public class VIEWAuthorizeAttribute : AuthorizeAttribute 然后我覆盖了
我正在尝试创建一个权限属性来在 Controller 的每个操作中进行配置,因此此自定义属性应该从用户处获取 sessionId。我的代码是这样的: public class PermissionCh
我正在编写一个 OnActionExecuting 操作过滤器,我想对该功能进行单元测试。 过滤器需要做的一件事是对传递给过滤器的操作参数执行一些验证。 我从 actionContext.Action
从 ASP.NET Web API 的测试版开始,我使用 HttpActionContext.RequestContentKeyValueModel 从 POST 请求的主体中获取输入参数: publ
我在使用 .NET Web API 的服务端实现 Angular 项目。 Web API 是无状态的,所以我使用 Cookie 来维护身份验证。 AuthLogin Controller 检查凭据是否
我需要知道如何创建自定义 IModelBinder在 MVC 4 中,它已被更改。 必须实现的新方法是: bool BindModel(HttpActionContext actionContext,
以下两种通过AuthorizeAttribute访问原理的方式有什么区别?执行? 使用 HttpContext : protected override bool IsAuthorized(HttpA
我正在尝试添加 Microsoft Extensions Dependency Injection到现有的 ASP.NET WebApi/Owin 项目。 已关注 this blog post ,我添
我创建了一个过滤器属性 public class AuthFilterAttribute : System.Web.Http.Filters.ActionFilterAttribute { p
我是一名优秀的程序员,十分优秀!