如何解决Blazor服务器端:具有共享[NotAuthorized]视图的特定于角色的[Authorized]视图
我在blazor服务器端应用程序中偶然发现了一个小问题,该应用程序具有以下基础:
- 我已经使用
<AuthorizeView>
开发了一个用于访问客户的应用程序。 - 着陆页和所有内容都停放在
<NotAuthorized>
区域内 - (通过消费卡)登录后,客户已获得基于索赔的授权,并且可以访问
<Authorized>
区域
我想到目前为止一切照旧...
现在,我必须更改我的应用程序,以允许操作员也可以分别访问具有不同功能的应用程序,所以我执行了以下操作:
-
我在我的
ClaimTypes.Role
上添加了一个ClaimsIdentity
声明,其中包含针对客户的角色customer
和针对运营商的角色operator
-
我已将
Roles
属性添加到我的<AuthorizeView>
现在我想知道,是否有人可以共享两个角色的<NotAuthorized>
区域,因为我无法向该区域本身添加Roles
属性...通常对于<AuthorizeView>
来说是可能的。
问题是,我只想根据已认证用户的<Authorized>
声明调整Role
区域,而无需将我的<NotAuthorized>
代码复制到另一个<AuthorizeView>
>
这可能吗?
预先感谢和问候
E科
解决方法
除了使用标签之外,您还可以通过注入SignInManager来执行程序逻辑-试试看,看看它是否对您有用!
if(event.target.className===<className>) {
//exit the function
return
} else {
//do the styling
}
可以在Microsoft文档上here找到更多信息,但是在标准的Blazor页面上,他们使用的方法对我不起作用,这就是为什么我使用SignInManager的原因,这种方法对我来说似乎很好。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。