我有一个ASP.net网络应用程序,它托管在服务器上。此Web应用程序是我的Outlook加载项。我想获取登录到Outlook应用程序的用户名。当我尝试使用模拟时,插件无法加载。默认情况下,用户名不应要求授权登录。我尝试了很多方法但没有成功(禁用匿名身份验证并启用Windows身份验证,User.Identity.Name等。)
有人可以帮忙吗?
答案 0 :(得分:0)
您应该在webconfig中启用FormsAuthentication
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>
然后你应该按
设置userName FormsAuthentication.SetAuthCookie(userName, true);
当用户提交登录表单时
您可以使用User.Identity.Name;
答案 1 :(得分:0)
永远不要在Web应用程序中使用OOM。 Microsoft目前不建议也不支持从任何无人参与的非交互式客户端应用程序或组件(包括ASP,ASP.NET,DCOM和NT服务)自动化Microsoft Office应用程序,因为Office可能会出现不稳定的行为和/或或Office在此环境中运行时死锁。
如果要构建在服务器端上下文中运行的解决方案,则应尝试使用已为安全无人值守执行的组件。或者,您应该尝试找到允许至少部分代码在客户端运行的替代方法。如果从服务器端解决方案使用Office应用程序,则应用程序将缺少许多成功运行的必要功能。此外,您将承担整体解决方案稳定性的风险。请在Considerations for server-side Automation of Office文章中详细了解相关内容。
您可以考虑使用EWS或Outlook REST API,有关详细信息,请参阅EWS Managed API, EWS, and web services in Exchange。