获取用户名客户端

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 了解更多信息。

【讨论】:

以上是关于获取用户名客户端的主要内容,如果未能解决你的问题,请参考以下文章

从 SQL Server 获取客户端操作系统用户名

获取用户真实IP:(模拟:客户端--F5--nginx--tomcat 后端获取用户真实IP)

获取连接到 Web 服务器的客户端的用户名

Keycloak:使用新创建的客户端和用户获取 JWT

CAS ,ASP.NET怎么获取更多的用户信息?

如何获取网站用户的真实IP