获取用户名客户端
Posted
技术标签:
【中文标题】获取用户名客户端【英文标题】:Get username client side 【发布时间】:2018-05-09 06:57:42 【问题描述】:我有一个托管在服务器上的 ASP.net Web 应用程序。此 Web 应用程序是我的 Outlook 加载项。我想让用户名登录到 Outlook 应用程序。当我尝试使用模拟时,插件不会加载。默认情况下,用户名不需要授权登录。我尝试了很多方法,但都没有成功(禁用匿名身份验证并启用 Windows 身份验证、User.Identity.Name 等)
有人可以帮忙吗?
【问题讨论】:
【参考方案1】:您应该在 webconfig 中启用 FormsAuthentication
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>
那么你应该设置用户名
FormsAuthentication.SetAuthCookie(userName, true);
当用户提交登录表单时
您可以使用User.Identity.Name;
联系用户名
【讨论】:
这是 Web 应用程序而不是 Web 表单。正如我所说 - 我不想拥有登录表单授权。 我误会了你可以试试这个 Call Application.Session.CreateRecipient(返回 Recipient 对象),调用 Recipient.Resolve,读取 Recipient.Name 属性。 Melih 我使用的是 VS 而不是 VB。【参考方案2】:您不应该在 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 了解更多信息。
【讨论】:
以上是关于获取用户名客户端的主要内容,如果未能解决你的问题,请参考以下文章