需要解决自定义授权问题。我的数据库中已经有四个名为: 1. Usermaster 2.Roles 3.RoleMenu 4.Menu
我已经实现了这一点并且它工作得很好。我现在唯一的问题是,经过身份验证的用户只需在浏览器中输入页面 url 即可查看未经授权的页面。
除了表单身份验证和文件夹级别访问之外,还有什么有用的想法吗?
我有一个类似的项目,我似乎无法在任何地方找到代码,因为它是很久以前的。不过我记得前提。我所做的是我在 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
本质上,我们的登录名是域\用户名,所以我正在做的是使用拆分仅提取名称。然后,我将接受的用户填充到管道上拆分的数组中,并循环遍历它们以搜索匹配项。当找到匹配项时,它允许他们访问,如果没有找到匹配项,他们将被重定向回主页。