0

我有一个内部 page.aspx,并且我创建了一个名为 Premium 的角色。我希望所有用户都能看到 page.aspx,但只有高级用户才能看到 div。

我的 web.condig

<location path="?">
<system.web>
    <authorization>
      <allow roles="Premium" />
      <deny users="*" />
    </authorization>
</system.web>

我现在不知道如何编写它,所以只有高级角色中的用户才能看到

4

3 回答 3

5

最简单的方法是使用一条if语句来控制该部分页面的输出:

<% if(User.IsInRole("Premium")) { %>
<div> blah </div>
<% } %>

当然,您可以创建一个UserControl包含此逻辑的或类似的内容,从而将条件表达式推出主机页面并让页面始终简单地呈现控件。

于 2013-01-10T08:11:06.327 回答
0

您可以将高级部分设置为在控制器中有自己的方法的部分视图,您可能需要角色Premium

于 2013-01-10T08:11:30.757 回答
0

在您的 page.aspx 中,执行以下操作:

<%if (Request.IsAuthenticated){ %>
    <%if HttpContext.Current.User.IsInRole("premium"){ %>
        <div>premium content</div>
    <%} %>
<%}%>
于 2013-01-10T08:17:56.613 回答