只有当用户以admin角色登录时才显示管理面板按钮
本文关键字:显示 管理 按钮 登录 用户 角色 admin | 更新日期: 2023-09-27 18:16:45
基本上我的问题是基于这里的这个问题:
只显示已登录用户的菜单项
他们解决上一道问题的方法是一种拙劣的方法。我读了一些关于这个问题,发现你必须创建自定义的HTML Helper,它将根据用户角色显示或隐藏按钮。
那么在View中它看起来会是这样的
@HTML.MyCustomHelperWhichShowButton("ButtonText");
但是我应该如何实现这样一个助手呢?
但是我应该如何实现这样一个助手呢?
通过为HtmlHelper
类编写一个扩展方法:
public static class HtmlExtensions
{
public static IHtmlString MyCustomHelperWhichShowButton(this HtmlHelper html, string text)
{
var isAuthnticated = html.ViewContext.HttpContext.User.Identity.IsAuthenticated;
if (isAuthnticated)
{
return html.ActionLink(text, "MyListings", "List");
}
return new HtmlString(string.Empty);
}
}
~/Views/web.config
文件的<namespaces>
部分,这将使该帮助器在所有视图中都具有作用域