问题描述
我在blazor服务器端应用程序中偶然发现了一个小问题,该应用程序具有以下基础:
- 我已经使用
<AuthorizeView>
开发了一个用于访问客户的应用程序。 - 着陆页和所有内容都停放在
<NotAuthorized>
区域内 - (通过消费卡)登录后,客户已获得基于索赔的授权,并且可以访问
<Authorized>
区域
我想到目前为止一切照旧...
现在,我必须更改我的应用程序,以允许操作员也可以分别访问具有不同功能的应用程序,所以我执行了以下操作:
现在我想知道,是否有人可以共享两个角色的<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的原因,这种方法对我来说似乎很好。