gpt4 book ai didi

asp.net - 您如何根据用户的 ASP.NET 身份角色完全隐藏用户的元素?

转载 作者:行者123 更新时间:2023-12-04 03:22:26 24 4
gpt4 key购买 nike

目标:根据用户在 ASP.NET Identity 中的角色隐藏某些元素,例如用户的页面链接。

我尝试过的:[Authorize(Roles = IdentityHelper.Administrator)]

(如果您将注释放在某些元素上,这确实会限制对某些元素的访问,例如页面,但它不会隐藏元素本身。我希望它同时执行这两项操作。)我隐藏这些元素并不完全重要用户,因为他们已经受到限制,但这会让我的网站对用户来说更好看。

(IdentityHelper 只是一个辅助类,用于设置有关管理员角色的所有详细信息)

代码示例:

//Restricts access, which is good, but does not completely hide elements from user.
[Authorize(Roles = IdentityHelper.Administrator)]
public async Task <IActionResult> Edit(int id)
{
//get pixel art with corrosponding id
PixelArt p = await PixelDBManager.GetSinglePixelAsync(id, _context);

//pass pixel art to view
return View(p);
}

我是否应该切换到基于声明或策略的身份而不是角色,或者我是否可以坚持使用角色来解决这个特定问题?

最佳答案

您可以在 Razor 模板中使用 User.IsInRole()

@if(User.IsInRole(IdentityHelper.Administrator))
{
<h1>I'm an administrator</h1>
}

关于asp.net - 您如何根据用户的 ASP.NET 身份角色完全隐藏用户的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68232396/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com