【问题标题】:Can IIS prevent network user to get retrieved via vb code?IIS 可以阻止网络用户通过 vb 代码进行检索吗?
【发布时间】:2013-08-29 19:39:34
【问题描述】:

我遇到了这种情况:我开发了我的第一个 Web ASP.NET 应用程序,但我不是将它上传到 IIS 的人;事实上,我对 IIS 及其配置一无所知。 我的网络应用程序应该以这种方式工作: 公司中的所有计算机都在域内,使用 Environment.UserName 检索 id 用户,然后在用户表中检查,如果该用户具有 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

【问题讨论】:

    标签: asp.net vb.net authentication iis


    【解决方案1】:

    您必须禁用匿名访问,并在 IIS 上启用 Windows 身份验证,然后在 web.config 中设置:

    <system.web>
      <authentication mode="Windows"/>
      <identity impersonate ="true"/>
      <authorization>
          <deny users="?"/>
      </authorization>
     </system.web>
    

    这将使用户在通过 IIS 访问页面时被认证为 windows 用户。

    【讨论】:

    • 谢谢,我想它仍然会继续加载访客页面。
    猜你喜欢
    • 2018-10-22
    • 1970-01-01
    • 2011-02-09
    • 1970-01-01
    • 1970-01-01
    • 2019-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多