Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 正在检查razor页面中的登录用户角色_C#_Asp.net_Asp.net Mvc_Asp.net Mvc 3_Asp.net Mvc 4 - Fatal编程技术网

C# 正在检查razor页面中的登录用户角色

C# 正在检查razor页面中的登录用户角色,c#,asp.net,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 4,我还发现返回视图(用户)不好,因为我不知道如何使用该用户 @if(Request.IsAuthenticated&&User.IsInRole(“管理员”)) public ActionResult AuthenticatedUserLayout(string username) { var lst=userContext.UserProfiles.ToList(); var user = lst.Select(u => u.UserNam

我还发现
返回视图(用户)
不好,因为我不知道如何使用该
用户

@if(Request.IsAuthenticated&&User.IsInRole(“管理员”))
    public ActionResult AuthenticatedUserLayout(string username) 
    {
        var lst=userContext.UserProfiles.ToList();
        var user = lst.Select(u => u.UserName == username);

        if(IsAdmin(Session["LoginUser"].ToString())) return View(user); else return Index();
    }
{
  • @ActionLink(“主页”、“索引”、“主页”)
  • @ActionLink(“关于”、“关于”、“主页”)
  • @ActionLink(“联系人”、“联系人”、“主页”)
您好,@User.Identity.Name! }
戴夫的答案是正确的。我建议您考虑在您的模型中使用一个属性,称为“代码> ISORDER < /CODE >或<代码> ChansEsIdBar < /Cord>,并将该问题回答为<强>域逻辑< /强> <
视图应仅适用于模型。查看线程,从数据库中读取,在回答域问题方面是相同的。在控制器将模型交给视图之前,应回答所有这些类型的问题。

对于ASP.NET Core Razor页面

@if (Request.IsAuthenticated && User.IsInRole("Administrators"))
{
     <div id="sidebar">
        <div class="module">
           <ul class="menu">
              <li>@Html.ActionLink("Home", "Index", "Home")</li>
              <li>@Html.ActionLink("About", "About", "Home")</li>
              <li>@Html.ActionLink("Contact", "Contact", "Home")</li>
            </ul>
         </div>
         <div class="mainContent">
             Hello, @User.Identity.Name !
         </div>
     </div>
}

@if(Request.IsAuthenticated&&User.IsInRole(“administrator”))
如果你想把它放在一个共享视图上,这不是很难吗?通过导航,你几乎肯定会这样做。遗憾的是,不支持像[Authorize(Role=“administrator”)或[Authorize(Policy=“RequireAdministratorRole”)]@OzanBAYRAM这样的Authorize属性,您可以使用Authorize属性,但这样做并不方便。一个更好的方法可能是携带一个有权限的用户对象。谢谢,@dave alperovich,我注意到我忘了将页面指令添加到cshtml文件中。这就是为什么我不能让它工作。有没有办法根据个人权限来检查这个问题?@JordanLeeBurnes,你只能检查用户是否是管理员
@if (Request.IsAuthenticated && User.IsInRole("Administrators"))
{
     <div id="sidebar">
        <div class="module">
           <ul class="menu">
              <li>@Html.ActionLink("Home", "Index", "Home")</li>
              <li>@Html.ActionLink("About", "About", "Home")</li>
              <li>@Html.ActionLink("Contact", "Contact", "Home")</li>
            </ul>
         </div>
         <div class="mainContent">
             Hello, @User.Identity.Name !
         </div>
     </div>
}
if (User.Identity.IsAuthenticated && User.IsInRole("Administrator"))