asp.net中的自定义授权和页面保护

asp.net中的自定义授权和页面保护,asp.net,webforms,Asp.net,Webforms,需要解决自定义授权问题。 我的数据库中已经有四个表名为: 1.用户管理员 2.角色 3.RoleMenu 4.菜单 我已经实现了这一点,它的工作非常完美。 我现在唯一的问题是,经过身份验证的用户只需在浏览器中输入页面url即可查看未经授权的页面 除了表单身份验证和文件夹级访问之外,还有什么有用的想法吗 我有一个与此类似的项目,我似乎在任何地方都找不到代码,因为这是很久以前的事了。不过我记得前提。我所做的是在webconfig中设置一个键,允许用户名以管道分隔的字符串进行访问。在代码的背后,我会将

需要解决自定义授权问题。 我的数据库中已经有四个表名为: 1.用户管理员 2.角色 3.RoleMenu 4.菜单

我已经实现了这一点,它的工作非常完美。 我现在唯一的问题是,经过身份验证的用户只需在浏览器中输入页面url即可查看未经授权的页面


除了表单身份验证和文件夹级访问之外,还有什么有用的想法吗

我有一个与此类似的项目,我似乎在任何地方都找不到代码,因为这是很久以前的事了。不过我记得前提。我所做的是在webconfig中设置一个键,允许用户名以管道分隔的字符串进行访问。在代码的背后,我会将该键以及试图访问该页面的用户拉入。然后我会搜索字符串并尝试匹配用户。如果找到匹配项,页面将加载,如果没有找到匹配项,页面将重定向到一个页面,告诉他们没有访问权限,以及联系谁请求访问。我将查找代码,如果找到,则进行编辑

编辑

网络配置

<appSettings>
    <add key="Users" value="user1|user2|user3|..." />
</appSettings>

本质上,我们的登录名是domain\username,所以我所做的只是使用拆分提取名称。然后,我将接受的用户填充到一个数组中,在管道上拆分并循环搜索匹配项。当找到匹配项时,它允许他们访问,如果没有找到匹配项,他们将重定向回主页。

表单身份验证有什么问题?它经过了很好的测试,非常可靠,被许多网站使用,包括这一个。我对表单身份验证的主要问题是性能和自定义。关于如何在这种情况下应用它,你有什么想法吗?关于表单身份验证,你发现它的性能很差且无法实现吗?我的主要瓶颈是定制并使其适应我的应用程序?它是如何成为瓶颈的?你觉得有什么困难?具体问题是什么?常规手工操作没有帮助。现在检查表单身份验证是一种可行的选择。
Dim DomainUserName() As String = Request.ServerVariables("LOGON_USER").Split("\")
    Dim UserName As String = DomainUserName(1)

    Dim Users() As String = ConfigurationManager.AppSettings("Users").ToString.Split("|")

    Dim isAllowedAccess As Boolean = False

    For i As Integer = 0 To Users.Count - 1
        If UserName = Users(i) Then
            isAllowedAccess = True
            Exit For
        End If
    Next

    If isAllowedAccess = False Then
        Response.Redirect("Default.aspx")
    End If