博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.NET CORE TOKEN 权限验证
阅读量:4708 次
发布时间:2019-06-10

本文共 937 字,大约阅读时间需要 3 分钟。

原文:

版权声明:本文为博主原创文章,未经博主允许不得转载。 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 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/lonelyxmas/p/10909827.html

你可能感兴趣的文章
ABP开发框架前后端开发系列---(15)ABP框架的服务端和客户端缓存的使用
查看>>
免密登录
查看>>
jjs 产生undefined的情况
查看>>
拼图数字游戏
查看>>
PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [4] 首页 APP 接口开发方案 ③ 定时读取缓存方式...
查看>>
xml
查看>>
python上下文管理器
查看>>
总结了一些MySQL优化方面的技巧
查看>>
Sql server 将表2中数据更新到表1中
查看>>
ASP.NET_SessionId vs .ASPXAUTH why do we need both of them?
查看>>
Chrome查看JavaScript函数
查看>>
xunit输出output到控制台
查看>>
The OAuth 2.0 Authorization Framework: Bearer Token Usage
查看>>
IIS访问站点,出现connection refused
查看>>
笔记:Android触摸事件传递机制
查看>>
mvc与ssm
查看>>
Java小知识---Java请求一个URL。获取网站返回的数据
查看>>
更改docker服务网段分配地址
查看>>
jquery ajax 回调函数的值alert出来[object Object] 解决方法
查看>>
Redis缓存接入监控、运维平台CacheCloud
查看>>