gpt4 book ai didi

c# - 基于角色的 Controller 访问

转载 作者:太空宇宙 更新时间:2023-11-03 18:35:54 24 4
gpt4 key购买 nike

我要使用新的 asp.net 和 asp.net MVC。我正在尝试根据用户的角色向用户显示一个页面。

public class HomeController : Controller
{
[Authorize(Roles = "Reviewer")]
public ActionResult Index()
{
ViewBag.Title = "Reviwer";
return View();
}

[Authorize(Roles="User")]
public ActionResult Index()
{
return View();
}
}

我的代码是上面的代码,它不会像这样编译是完全合理的我不能用相同的名称来定义两个相同的方法。但是有人可以指出我正确的方向吗?我应该如何根据用户的角色向用户显示不同的页面。

最佳答案

如果它们必须是两个独立的 Action ,那么根据角色命名它们更有意义,如下所示:

public class HomeController : Controller
{
[Authorize(Roles = "Reviewer")]
public ActionResult Reviewer()
{
ViewBag.Title = "Reviewer";
return View();
}

[Authorize(Roles="User")]
public ActionResult User()
{
return View();
}
}

如果你可以将它们合二为一,你可以这样做:

public class HomeController : Controller
{
[Authorize(Roles = "Reviewer", "User")]
public ActionResult Index()
{
if (User.IsInRole("Reviewer"))
{
return View("Reviewer");
}
else
{
return View("User");
}
}
}

关于c# - 基于角色的 Controller 访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15534512/

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