gpt4 book ai didi

asp.net-mvc - .net MVC Controller 操作方法的属性

转载 作者:行者123 更新时间:2023-12-04 06:12:40 25 4
gpt4 key购买 nike

本质上,当某人不属于我的属性中列出的角色时,我想显示一条友好的消息。目前我的应用程序只是将用户吐回到登录屏幕。我已经阅读了一些关于创建仅扩展 [AuthorizeAttribute] 的自定义属性的帖子,但我认为必须有一些开箱即用的东西来做到这一点?

有人可以指出我需要查看的正确方向,不要让它将用户发送到登录表单,而只是向他们发送“未授权”消息?

最佳答案

如果简单或完全控制逻辑是您想要的,您可以在您的操作方法中调用它:

User.IsInRole("NameOfRole");

它返回一个 bool 值,您可以根据该结果执行其余的逻辑。

我在某些情况下使用的另一个是:
System.Web.Security.Roles.GetRolesForUser();

我认为这会返回一个 string[] 但不要引用我的话。

编辑:
一个例子总是有帮助...
public ActionResult AddUser()
{
if(User.IsInRoles("SuperUser")
{
return View("AddUser");
}
else
{
return View("SorryWrongRole");
}
}

只要您的返回类型是“ActionResult”,您就可以返回任何可接受的返回类型(ViewResult、PartialViewResult、RedirectResult、JsonResult...)

关于asp.net-mvc - .net MVC Controller 操作方法的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2022614/

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