我遇到了这种情况:我开发了我的第一个 Web ASP.NET 应用程序,但我不是将它上传到 IIS 的人;事实上,我对 IIS 及其配置一无所知。我的网络应用程序应该以这种方式工作:公司中的所有计算机都在域内,并使用检索 id 用户Environment.UserName
然后在用户表中检查它,如果该用户具有 ADMIN 角色Default.aspx
将重定向到管理页面,否则它将重定向到访客页面。
当我使用 Visual Studio 进行调试时它运行良好,但是当它被复制到 IIS 站点文件夹时(它是“发布”吗?)它总是显示访客页面。由于某种原因objArea.searchRol(id)
没有找到“ADM” IIS 配置是否可能阻止 Windows 身份验证或类似的东西?
我的 default.aspx page_load 代码:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim objArea As New DataAccess.AreaDAO
Dim id As String = Environment.UserName
Dim rol As String = objArea.BuscarRol(id)
If rol = "ADM" Then
Response.Redirect("AdminPage.aspx")
Else
Response.Redirect("GuestPage.aspx")
End If
End Sub
并且每个其他页面都有此代码来验证用户身份验证:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim objArea As New DataAccess.AreaDAO
Dim id As String = Environment.UserName
Dim rol As String = objArea.searchRol(id)
If rol <> "ADM" Then
Response.Redirect("GuestPage.aspx")
End If
End Sub