Ste*_*fan 5 .net antiforgerytoken asp.net-web-api tag-helpers asp.net-core
我正在玩ASP vnext和AngularJS.我已经设置了一个Web API,我正在使用一些控制器,并使用角度来做一些网络魔术.
我已按照本指南的大部分内容来启动和运行我的项目:http: //stephenwalther.com/archive/2015/01/29/asp-net-5-and-angularjs-part-6-security
......工作正常.我已经设置了我的数据库等等,我的工作正常.我也设置了身份框架,但我还没有使用它.
我想将一些数据发布到WebAPI.哪个也工作正常,但现在我想在使用防伪代币时这样做.我已经google了很多,我猜这最有意义: novablog
但是:这使用System.Web.Helpers来创建令牌并验证它们.它们在vnext中不再可用.我现在无法弄清楚用什么来创建和验证令牌.
有任何想法吗?
以下是来自 ASP.NET 5 的 MusicStore 示例的示例:
来自上述链接的片段(请注意,[FromServices] AntiForgery antiforgery如果您不喜欢上面的链接,您可以将用作操作的参数):
[HttpPost]
public async Task<IActionResult> RemoveFromCart(int id)
{
var formParameters = await Context.Request.ReadFormAsync();
var requestVerification = formParameters["RequestVerificationToken"];
string cookieToken = null;
string formToken = null;
if (!string.IsNullOrWhiteSpace(requestVerification))
{
var tokens = requestVerification.Split(':');
if (tokens != null && tokens.Length == 2)
{
cookieToken = tokens[0];
formToken = tokens[1];
}
}
var antiForgery = Context.RequestServices.GetService<AntiForgery>();
antiForgery.Validate(Context, new AntiForgeryTokenSet(formToken, cookieToken));
......
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3136 次 |
| 最近记录: |