Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET Windows身份验证模式、IIS7和自定义错误页-如何?_C#_Asp.net_Iis 7 - Fatal编程技术网

C# ASP.NET Windows身份验证模式、IIS7和自定义错误页-如何?

C# ASP.NET Windows身份验证模式、IIS7和自定义错误页-如何?,c#,asp.net,iis-7,C#,Asp.net,Iis 7,我有很多用户。如果他们不是在一个特定的角色,我不希望他们有权访问该网站。使用stock.NET成员资格/角色提供程序,将身份验证模式设置为Windows,并在请求结束时设置一些访问规则和截获,重定向到自定义401错误页面,这是非常简单的—使用Cassini 推进IIS7和集成管道,当使用此版本的IIS和此操作模式将我的站点部署到Web服务器时,这是如何实现的?我是否应该回到传统的应用程序池,或者这是否违背了对管道中的请求进行更多控制的目的 我知道这很基本,但你试过了吗?这将放在Web.confi

我有很多用户。如果他们不是在一个特定的角色,我不希望他们有权访问该网站。使用stock.NET成员资格/角色提供程序,将身份验证模式设置为Windows,并在请求结束时设置一些访问规则和截获,重定向到自定义401错误页面,这是非常简单的—使用Cassini


推进IIS7和集成管道,当使用此版本的IIS和此操作模式将我的站点部署到Web服务器时,这是如何实现的?我是否应该回到传统的应用程序池,或者这是否违背了对管道中的请求进行更多控制的目的

我知道这很基本,但你试过了吗?这将放在Web.config文件中

<customErrors mode="On" defaultRedirect="Error.aspx">
    </customErrors>

你现在对此有什么问题?成员资格和角色提供者仍然在IIS7中工作。是的,他们在工作。我的问题是,尽管似乎有针对整个Http错误范围(例如401到500)的规定以及设置自定义错误的能力。事实证明,提供一个非静态的、母版页驱动的错误页面(在卡西尼号上工作)似乎“不可能”使用IIS7和集成模式进行配置。编辑以传达没有什么是不可能的不幸的是,这不起作用。401.2和401.3错误的自定义错误超出了ASP.NET处理的范围。据我所知,在ASP.NET处理无效请求之前,它们是由IIS7处理的,您必须像胆小鬼一样跳舞才能显示优雅的错误消息。
    ' Fires when an error occurs
    ' Code that runs when an unhandled error occurs

    Dim ErrorDescription As String = Server.GetLastError.ToString

    ' Log the Error to Event Log
    'Creation of event log if it does not exist  
    Dim EventLogName As String
    EventLogName = ConfigurationManager.AppSettings("ApplicationLog").ToString()

    If (Not EventLog.SourceExists(EventLogName)) Then
      EventLog.CreateEventSource(EventLogName, EventLogName)
    End If

    ' Inserting into event log
    Dim Log As New EventLog()
    Log.Source = EventLogName
    Log.WriteEntry(ErrorDescription, EventLogEntryType.Error)