0

需要解决自定义授权问题。我的数据库中已经有四个名为: 1. Usermaster 2.Roles 3.RoleMenu 4.Menu

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

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

4

1 回答 1

0

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

编辑

网络配置

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

这件作品高于

对于 .aspx.vb 页面

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

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

于 2012-05-18T18:48:03.517 回答