代码之家  ›  专栏  ›  技术社区  ›  Pinu

ASP.Net MVC检查用户在aspnet Membership中的角色

  •  2
  • Pinu  · 技术社区  · 14 年前
    <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
    <%
        if (Request.IsAuthenticated) {
    %>
            Welcome <b><%= Html.Encode(Page.User.Identity.Name) %></b>!
            [ <%= Html.ActionLink("Log Off", "LogOff", "Account") %> ]
            <br /> 
    <% if(User.IsInRole("Administrator")) { %>
            <br />
            <%= Html.ActionLink("Home", "Index", "Home") %> | <%= Html.ActionLink("About", "About", "Home") %> | <%= Html.ActionLink("UserControl","UserControl","Account")%>
            <% } else { %>
            <br />
            <%= Html.ActionLink("Home", "Index", "Home") %> | <%= Html.ActionLink("About", "About", "Home") %>
         <%} %>
    

    我想检查用户的角色,如果它是管理员,只有这样用户才能看到指向用户控件的链接 “'Data.User'不包含'IsInRole'的定义”

    1 回复  |  直到 13 年前
        1
  •  4
  •   Matthew Abbott    14 年前

    我认为ViewUserControl类型没有用户属性,因此编译器认为您试图访问Data.User类型的域对象。在部分控件中,可以使用 HttpContext.Current.User 在哪里 IsInRole 方法应该有效。