2016-04-28 62 views
1

我有一个可用的EWS连接,但此刻我必须填写我的用户名和密码,每当我停止该应用程序。最终许多不同的用户将使用该应用程序。有没有办法以编程方式获得我可以存储在localstorrage中的accesstoken? (我不想保存密码)以编程方式获得EWS accesstoken

ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP2); 

    ExchangeCredentials credentials = new WebCredentials(username, password); 
    service.setCredentials(credentials); 

    service.setUrl(new URI("https://domain/EWS/Exchange.asmx")); 

回答

0

这就是所谓的模拟(邮件服务器管理员必须运行功率shell命令超级用户权限分配给指定的邮件帐户)。

这里是链接https://msdn.microsoft.com/en-us/library/office/dd633680(v=exchg.80).aspx

而且,这里是我如何使用模拟数百个用户的工作示例。 您需要的是将用户名存储在哈希集或字典中而不是访问令牌(EWS中没有访问令牌)。

Private _ExchangeServicesMainThread As New Dictionary(Of String, ExchangeService) 
Private _UserIdState As New Dictionary(Of String, Integer) 
Private _Connections As New Dictionary(Of String, StreamingSubscriptionConnection) 
Private _Subscriptions As New Dictionary(Of String, StreamingSubscription) 

Private Function InitializeService(pUsername As String) As ExchangeService 
    Dim oExService As ExchangeService 
    Dim strEmailAddress As String = pUsername & config.MailDomain 
    Dim strAdminEmailAddress As String = config.ExchangeServerAdminUserName & config.MailDomain 

     oExService = New ExchangeService(config.ExchangeVersion) 
     oExService.UseDefaultCredentials = False 
     oExService.Url = New Uri(config.SecureHTTP & config.EmailServer & config.ExchangeManagedAPIEndpoint) 
     oExService.Credentials = New Net.NetworkCredential(config.ExchangeServerAdminUserName, config.ExchangeServerAdminPass, config.ActiveDirectoryDomain) 
     oExService.ImpersonatedUserId = New ImpersonatedUserId(ConnectingIdType.SmtpAddress, strEmailAddress) 

     Return oExService 
End Function 

假设你有所有用户的初始化字典那么虽然你的字典,让您分配一个exchangeservice给他们中的每一个和这个用户名/ exchangeservice存储在一个新的字典

For Each strUserName As String In _UserIdDictionary.Keys 
     _ExchangeServicesMainThread.Add(strUserName, InitializeService(strUserName)) 
    Next 
+0

谢谢环你为你的答案!糟糕的是,他们没有一个使用权。我无法以管理员的身份访问交易所,因此这不适合我。 Stil知道没有使用权是有帮助的。 – Arnout

相关问题