use*_*812 13 asp.net authorization asp.net-mvc-5
所以这听起来可能是一个愚蠢的问题,但我如何只为管理员用户显示链接?
假设普通用户看到以下链接:
主页/关于/联系
管理员用户可以看到以下链接:
主页/关于/联系人/管理员
我尝试在控制器中进行限制并在菜单上链接控制器.但它仍然显示每个人的链接,只是不允许访问任何人,但管理员
视图可以重载吗?
Tim*_*mes 33
根据您使用的会员/用户提供商的类型,您应该能够直接从View查看用户是否已登录并具有特定角色.
所以你最终会得到像这样的东西;
@Html.ActionLink("Index", "Home")
@Html.ActionLink("About", "Home")
@Html.ActionLink("Contact", "Home")
@if ( User.Identity.IsAuthenticated ){
if ( User.IsInRole("Admin") ){
@Html.ActionLink("Admin", "AdminController")
}
}
Run Code Online (Sandbox Code Playgroud)
并记得在[Authorize]您的Admin操作方法中添加属性:
[Authorize(Roles="Admin")]
public ActionResult Admin()
{
// ...
return View();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17070 次 |
| 最近记录: |