我是否可以避免存储MS Exchange凭据,同时仍能进行身份验证(针对EWS)?

Dav*_*och 12 c# exchange-server exchangewebservices

我正在构建一个应用程序,用于同步用户的Exchange Server帐户(支持的版本2007-2013)和应用程序之间的数据.

应用程序不能使用模拟(至少不在典型情况下),因为用户可以在任意数量的域和交换服务器上.

我知道我最初不得不要求他们的用户名/电子邮件地址和密码.但是,如果我不需要,我真的不想负责存储这些凭据(即使它们是加密的,我宁愿不加密).

我不确定要问什么问题,所以我要跟这些:

Exchange Server如何进行身份验证?用户的凭据是否按原样直接发送到服务器,还是在通过网络发送之前进行了哈希处理?如果它们被散列,我如何获得/生成此哈希以便在连续的身份验证中重用?

Exchange Server是否发送某种可以在以后重复使用的身份验证令牌(永远,直到密码更改或失效)?

如果您知道该问题的解决方案,这些问题的答案无法解决,请改为提供.

Kir*_*nov 5

Active Directory联合服务完全适用于此类任务.你可以在那里阅读它.


Sor*_*eri 0

应该System.Net.CredentialCache可以满足您的需求。是 的WebCredentials包装器System.Net.NetworkCredential。根据连接类型/域等,您应该能够使用System.Net.CredentialCache.DefaultNetworkCredentialsSystem.Net.CredentialCache.DefaultCredentials