【发布时间】:2020-07-09 14:44:42
【问题描述】:
我将[Authorize(Roles="CompanyRole")] 注释添加到我的控制器操作中,并且在Startup 类中我有:
app.Use(async (context, next) =>
{
if(context.Session.GetString("user") != null)
{
var tk = JsonConvert.DeserializeObject<UserModel>(context.Session.GetString("user"));
if (!String.IsNullOrEmpty(tk.Token))
{
context.Request.Headers.Add("Authorization", "Bearer " + tk.Token);
}
await next.Invoke();
}
else
{
context.Request.Path = "/Home/Login";
await next.Invoke();
}
});
如果我删除 Authorize 属性,我可以使用
var A = User.Identity.Name;
其中一个角色是CompanyRole,但是当我尝试执行该控制器操作时,我得到了“未经授权”。
【问题讨论】:
标签: c# asp.net-core asp.net-core-3.1