Asp.net 处理未授权用户的权限

Asp.net 处理未授权用户的权限,asp.net,vb.net,Asp.net,Vb.net,假设我有两个特权:Admin和Host,我有一个默认页面 登录后:管理员用户可以看到所有内容,但主机用户在页面中看不到几个按钮 那么我应该复制默认页面吗?或者有没有办法禁用重定向到默认页面上的按钮 If Login1.Password = Session("pwd") Then Response.Redirect("profile_test_1.aspx") End If 请注意,我使用的是web应用程序 谢谢:)我使用C#,但我很确定这也适用于VB。 您可以使用L

假设我有两个特权:Admin和Host,我有一个默认页面

登录后:管理员用户可以看到所有内容,但主机用户在页面中看不到几个按钮

那么我应该复制默认页面吗?或者有没有办法禁用重定向到默认页面上的按钮

  If Login1.Password = Session("pwd") Then
        Response.Redirect("profile_test_1.aspx")
    End If
请注意,我使用的是web应用程序

谢谢:)

我使用C#,但我很确定这也适用于VB。 您可以使用
LoginView
webcontrol,当然,还可以将所有内容保持在同一页面中

示例

<asp:LoginView ID="LoginView1" Runat="server">
  <LoggedInTemplate>
   <asp:LoginName ID="LoginName1" Runat="server" 
                  FormatString ="Welcome, {0}"/>
   <br />
    <asp:HyperLink ID="HyperLink1" Runat="server" 
      NavigateUrl="~/MemberPages/ChangePassword.aspx">
      Change Password
    </asp:HyperLink>
  </LoggedInTemplate>
  <AnonymousTemplate>
    <asp:Login id="Login1" runat="server" 
        CreateUserText="Create a new user..."
        CreateUserUrl="~/Register.aspx" 
        PasswordRecoveryUrl="~/Recovery.aspx" 
        UserNameLabelText="E-mail address:" />
  </AnonymousTemplate>
</asp:LoginView>

您可以创建一个子系统,该子系统将在用户验证后运行。您可以传递一个布尔管理员,子管理员将隐藏/显示所需的按钮。您可以在回发或页面加载时调用此函数,具体取决于您传递用户角色的方式

伪代码:

Sub SetPermissions(Byval blAdmin as boolean)

    If blAdmin Then
        'Insert code to showbuttons; ie. btnAdminOnly.Visible = True
    Else
        'Insert code to hide buttons; ie. btnAdminOnly.Visible = False
    End If

End Sub