2013-08-22 171 views
0

比方说,我有两个权限:管理员和主机,我有一个默认页面。处理未授权用户的权限

在登录后:admin用户所看到的一切,但主机的用户无法看到页面

所以我应该复制默认页面几个按钮?或者有没有办法在重定向到默认页面时禁用按钮?

If Login1.Password = Session("pwd") Then 
     Response.Redirect("profile_test_1.aspx") 
    End If 

注意,我使用的Web应用程序

谢谢:)

回答

0

我用C#的工作,但我敢肯定,这将符合VB以及。 您可以使用LoginView网页控制,当然,将所有内容保存在同一页面中。

<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> 

在本例中为登录用户和匿名用户我分块,但你可以做基于Roles相同。

来源:http://msdn.microsoft.com/en-us/library/ms178329%28v=vs.90%29.aspx

0

您可以创建用户通过验证后,将运行一个子。你可以传递一个布尔型的管理员,子将隐藏/显示所需的按钮。您可以根据传递用户角色的方式,在回发或page_load上调用此函数。

伪代码:

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