Node.js 使用Exchange EWS SOAP,如何获取给定usename的电子邮件地址
我正在使用Exchange Web Services端点将NodeJS应用程序的登录集成到公司的Active Directory。通过这种方式,我可以验证提供的凭据(用户名和密码)是否与Active Directory用户的凭据匹配 到目前为止,我能够成功验证用户名/密码对是否有效。我找不到一个解决方案,就是给电子邮件地址一个用户名 我无法直接使用LDAP查询Active Directory,因为NodeJS应用程序将托管在公司网络之外。一个可用的选项是使用Exchange Web Services(2010)端点 我目前正在执行ResolveNames操作 问题是,使用用户名作为Node.js 使用Exchange EWS SOAP,如何获取给定usename的电子邮件地址,node.js,exchange-server,exchangewebservices,Node.js,Exchange Server,Exchangewebservices,我正在使用Exchange Web Services端点将NodeJS应用程序的登录集成到公司的Active Directory。通过这种方式,我可以验证提供的凭据(用户名和密码)是否与Active Directory用户的凭据匹配 到目前为止,我能够成功验证用户名/密码对是否有效。我找不到一个解决方案,就是给电子邮件地址一个用户名 我无法直接使用LDAP查询Active Directory,因为NodeJS应用程序将托管在公司网络之外。一个可用的选项是使用Exchange Web Servic
unsolvedEntry
值执行Resolvenames将返回多个解析,例如,如果用户名是john
,并且目录中还有其他john,则Resolvenames
查询也将返回这些解析
我正在寻找一种方法,使用EWS作为用户名(对应于用于查询EWS SOAP服务的有效凭据)来明确获取电子邮件地址。从未遇到过提供登录用户电子邮件地址的直接方法,但您可以通过创建positem,然后通过positem.getFrom()方法获取电子邮件地址来进行简单的黑客攻击,例如:
PostItem postItem = new PostItem( service );
postItem.setBody( MessageBody.getMessageBodyFromText("Test for email-address " ) );
postItem.save();
postItem = PostItem.bind( service , postItem.getId() );
System.out.println( postItem.getFrom() );
postItem.delete( DeleteMode.HardDelete );
从未遇到过提供登录用户电子邮件地址的直接方法,但您可以通过创建positem,然后通过positem.getFrom()方法获取电子邮件地址来进行简单的破解,类似于:
PostItem postItem = new PostItem( service );
postItem.setBody( MessageBody.getMessageBodyFromText("Test for email-address " ) );
postItem.save();
postItem = PostItem.bind( service , postItem.getId() );
System.out.println( postItem.getFrom() );
postItem.delete( DeleteMode.HardDelete );
你能举个例子说明你在做什么吗?