只允许文件夹访问管理员用户

时间:2019-01-25 17:02:44

标签: asp.net vb.net

我是ASPX和VB.NET的新手,我正在尝试为两种用户创建两种不同的内容。

实际上,一个普通用户的所有页面都已经准备好了,现在我试图制作Admin部分,我创建了一个文件夹Administrator,其中有一个index.aspx,只有登录并在数据库中担任该角色的用户“ ADMIN”应该访问它。

loggin部分的操作如下:

Protected Sub loginBtn_Click(sender As Object, e As EventArgs)
    If UserExists(username.Value, password.Value) Then
        FormsAuthentication.SetAuthCookie(username.Value, False)
        If username.Value = "gab" Then
            Page.Response.Redirect("\Administrator\Index.aspx", True)
        Else
            Page.Response.Redirect("Default.aspx", True)
        End If

    Else
        username.Value = ""
        ClientScript.RegisterStartupScript(Me.[GetType](), "alert", "openModal();", True)
    End If

End Sub

现在我只检查用户名是否为“ gab”,但最近我想从数据库中选择角色。

问题是,如果普通用户登录并在路径中只写\ Administrator \ index.aspx,他就可以访问该文件夹,即使管理员将路径更改为“ Default.aspx”,他也可以访问普通用户的内容

我希望普通用户只能在Administrator文件夹中看到他的aspx页面和admin页面,但是我需要一些建议。

1 个答案:

答案 0 :(得分:1)

您可以通过多种方式进行操作,包括此处未列出的许多方式。
您可以考虑检查每个用户在页面加载时的权限,并在必要时重定向它们。这确实意味着您在每次页面加载时都要再次访问数据库,因此您需要考虑到这一点。
您也可以尝试使用客户端存储(例如Cookie)并运行checks客户端。您可能要小心在客户端存储的内容,因为它可能会打开安全漏洞。
如果我对您的项目了解更多,我也许可以为您提供更多细节。