在我的网站(这是一个非公开的ASP.NET MVC 3应用程序)的SSL设置中,我选中了“需要SSL”。对于客户端证书,我选择了“需要”选项。 当用户打开我的网站时,浏览器(例如Chrome)会要求选择任何可用的证书。如果用户只按下“取消”按钮,IIS 7.5将显示标准错误页面:
HTTP错误403.7 - 禁止您尝试访问的页面 要求您的浏览器具有安全套接字层(SSL)客户端 Web服务器识别的证书。
我可以通过Web.config中的httpErrors部分显示我的自定义403.7错误页面,但是这个静态页面不足以满足我的需要。我想手动处理此错误,分析原因(选择的证书或选择但过时的证书)并向用户显示有关错误和操作的相应信息。 我可以编写一个处理此错误的模块吗?我尝试了一个托管模块,但错误发生在模块初始化之前。本机模块可以拦截此错误吗?