Exchange2010 Ews 调用的时候需要注意到事项(模拟用户权限)
第一:在调用的时候需要(2010 采用的是SSL加密的形式,所以我们调用的时候需要加上如下的代码,)
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
ExchangeVersion RequestedServerVersion = config.ExchangeVersion == "2007" ? ExchangeVersion.Exchange2007_SP1 : ExchangeVersion.Exchange2010;
System.Net.ServicePointManager.CertificatePolicy = new TrustAllCertificatePolicy();
service = new ExchangeService(RequestedServerVersion)
{
Url = new Uri(config.EWSServiceUrl),
Credentials = new NetworkCredential(config.ExchangeAdministrator,
config.ExchangeAdministratorPassword,
config.Domain),
};
System.Net.ServicePointManager.CertificatePolicy = new TrustAllCertificatePolicy();
service = new ExchangeService(RequestedServerVersion)
{
Url = new Uri(config.EWSServiceUrl),
Credentials = new NetworkCredential(config.ExchangeAdministrator,
config.ExchangeAdministratorPassword,
config.Domain),
};
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
public class TrustAllCertificatePolicy : System.Net.ICertificatePolicy
{
public TrustAllCertificatePolicy()
{ }
public bool CheckValidationResult(ServicePoint sp,
System.Security.Cryptography.X509Certificates.X509Certificate cert,
WebRequest req, int problem)
{
return true;
}
}
{
public TrustAllCertificatePolicy()
{ }
public bool CheckValidationResult(ServicePoint sp,
System.Security.Cryptography.X509Certificates.X509Certificate cert,
WebRequest req, int problem)
{
return true;
}
}
关键是如下句:
System.Net.ServicePointManager.CertificatePolicy = new TrustAllCertificatePolicy();
第二:打开Exchange 2010 服务器在命令行中输入
New-ManagementRoleAssignment -Name:impersonationAssignmentName -Role:ApplicationImpersonation -User:serviceAccount
serviceAccount:就是我们要模拟其他人的账户