原文:
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012601647/article/details/68588559
为了使数据请求时更加安全,.net core提供了token验证与权限Check机制。 token验证针对于post请求,一般在form表单提交时使用,可以防止直接输入链接 发送请求。具体实现: (1)在form表单中添加 @Html.Partial("_PageRefreshTokenView") @Html.AntiForgeryToken() (2)在后台接收端添加注解 [HttpPost] [ValidateAntiForgeryToken] [ValidateReHttpPostToken] 这样在发送请求时就会在接收端进行token的匹配,如果不是点击button进行表单提交, 则会匹配失败,直接到error页面。 如果Ajax提交或者action提交。 (1)登录时在cookie中将用户的权限记录 identity.AddClaim(new Claim(ClaimTypes.Role, "Manager")); // 管理者 (2)在接收端添加注解 [Authorize(Roles = "Manager")] 这样没有权限的用户直接进入会到error页面。 注意:Authorize使用必须要求cookie中存一个任何的信息,接收端无法接受。 以上出错会跑到系统的404页面,如果自定义异常页面,需要在start.cs的Configure 方法中修改,因为try catch是无法捕获到这些异常的。 if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); app.UseBrowserLink(); } else { app.UseExceptionHandler("/System/Error"); }
posted on 2019-05-23 08:51 阅读( ...) 评论( ...)