所以这听起来可能是一个愚蠢的问题,但如何仅为管理员用户显示链接?
假设普通用户看到以下链接:
主页 / 关于 / 联系我们
管理员用户会看到以下链接:
主页 / 关于 / 联系 / 管理员
我尝试限制控制器并链接菜单上的控制器。但它仍然向所有人显示链接,只是不允许除管理员之外的任何人访问
视图可以超载吗?
根据您使用的会员资格/用户提供程序的类型,您应该能够直接从视图中检查用户是否已登录并处于特定角色。
所以你最终会得到类似的结果;
@Html.ActionLink("Index", "Home")
@Html.ActionLink("About", "Home")
@Html.ActionLink("Contact", "Home")
@if ( User.Identity.IsAuthenticated ){
if ( User.IsInRole("Admin") ){
@Html.ActionLink("Admin", "AdminController")
}
}
并且记得添加[Authorize]
归因于你的Admin
动作方法:
[Authorize(Roles="Admin")]
public ActionResult Admin()
{
// ...
return View();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)