我已通过 IIS7 为 Exchange 2010 启用客户端证书身份验证,并且用户登录时会提示他们选择用户证书,但随后他们都会看到以下错误消息
请求网址:https://<域名>:443/owa/用户主机地址:<server_ip_address> OWA 版本:14.1.355.2
异常异常类型:System.NullReferenceException 异常消息:未将对象引用设置为对象的实例。
调用堆栈
Microsoft.Exchange.Clients.Owa.Core.RequestDispatcher.GetUserIdentities(OwaContext owaContext、OwaIdentity& logonIdentity、OwaIdentity& mailboxIdentity、布尔值& isExplicitLogon、布尔值& isAlternateMailbox、ExchangePrincipal& logonExchangePrincipal)Microsoft.Exchange.Clients.Owa.Core.RequestDispatcher.InternalDispatchRequest(OwaContext owaContext)Microsoft.Exchange.Clients.Owa.Core.RequestDispatcher.DispatchRequest(OwaContext owaContext)Microsoft.Exchange.Clients.Owa.Core.OwaRequestEventInspector.OnPostAuthorizeRequest(对象发送者,EventArgs e)System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()System.Web.HttpApplication.ExecuteStep(IExecutionStep step、布尔值& completeSynchronously)
我遵循的启用证书认证的方法来自这篇文章:
http://www.miru.ch/2011/04/how-to-enable-certificate-based-authentication-on-exchange-2010/
有什么想法吗?Google 帮助不大
答案1
<authentication mode="Form"/>
修复很简单,您只需要在 web.config 文件中搜索并将其更改为 Windows(大写 W)
中指定的身份验证类型
C:\Program Files\Microsoft\Exchange Server\V14\ClientAccess\owa\web.config 文件不正确。正确的身份验证类型是“Windows”。