gpt4 book ai didi

c# - 还有另一种方法可以检查用户所在的 .net 角色吗?

转载 作者:行者123 更新时间:2023-11-30 19:29:55 26 4
gpt4 key购买 nike

我有很多检查来确定用户的角色然后分配一个角色编号。有什么办法吗我可以简化检查吗?

        if (User.IsInRole("Super"))
{
ViewBag.Role = 30;
}
else if (User.IsInRole("Admin"))
{
ViewBag.Role = 20;
}
...
...
else if (User.IsInRole("Guest"))
{
ViewBag.Role = 10;
}
else
{
ViewBag.Role = 5;
}

我需要做的是找到用户所在的最高角色,然后将该值分配给动态变量 ViewBag.Role。上面的代码确实有效,但所有 if 和 else 语句对我来说都不是好的编码习惯。

最佳答案

您可以向您的用户类添加一个属性:

    public virtual int RoleNumber
{
get
{
if (this.IsInRole("Super")) return 30;
if (this.IsInRole("Admin")) return 20;
if (this.IsInRole("Guest")) return 10;
return 5;
}
}

然后在 View 中:

ViewBag.Role = User.RoleNumber

关于c# - 还有另一种方法可以检查用户所在的 .net 角色吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10758857/

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