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