c# - 如何使用 C# ASP.Net Core 3.1 在服务器端检查 cookie 选项
问题描述
我正在使用以下选项创建一个 cookie:
var cookieOptions = new CookieOptions
{
HttpOnly = true,
SameSite = SameSiteMode.Strict,
Secure = true
};
Response.Cookies.Append("myCookie", customerToken, cookieOptions);
当我从浏览器取回 cookie 时,我很想验证它仍然是使用 httponly、samesite 和安全创建的,然后才接受它。或者这只是愚蠢的,所有这些都可以在浏览器中伪造吗?
解决方案
正如您提到的验证,上面应该是授权的一部分。您可以通过使用基于策略的授权来做到这一点,您可以在执行任何操作之前定义策略的条款和条件。
首先,您从请求中读取 cookie 数据。并且可以使用属性授权,例如:[Authorize(Policy = "your policy name ")]
在端点/控制器级别
之后实现处理程序,例如:Auth Handler ,您可以在其中定义上述条件。如果令牌/cookie 不符合您在处理程序中的条件,它将无法授权。
推荐阅读
- redux - 如何使用 map 运算符在 redux 中返回列表
- java - Java - 是否可以查看我从文本字段中引入并转换为双精度的字符串是否小于某个数字?
- java - 如何在不重复代码的情况下创建 JLabels(或其他元素)?
- c - C中的平方和程序,方程z = x^2 + y^2
- reactjs - 让用户城市和国家反应原生
- laravel - 调用未定义的方法 Illuminate\Database\Query\Builder::makeAllSearchable() Laravel Scout Algolia
- r - 如何“按桶”计算总值?
- java - 在服务开始而不是设定时间后触发警报
- c# - 列表框未发送正确的输出
- c++ - 从邻接列表中删除一条边