Получить имя пользователя на стороне клиента - PullRequest
0 голосов
/ 09 мая 2018

У меня есть веб-приложение ASP.net, которое размещается на сервере. Это веб-приложение является моей надстройкой для Outlook. Я хочу, чтобы имя пользователя вошло в приложение Outlook. Плагин не загружается, когда я пытаюсь использовать олицетворение. По умолчанию имя пользователя не должно требовать авторизации. Я пробовал много методов, но безуспешно (отключить анонимную проверку подлинности и включить проверку подлинности Windows, User.Identity.Name и т. Д.)

Кто-нибудь может помочь с этим?

Ответы [ 2 ]

0 голосов
/ 28 мая 2018

Вы никогда не должны использовать OOM из веб-приложений. В настоящее время Microsoft не рекомендует и не поддерживает автоматизацию приложений Microsoft Office из каких-либо необслуживаемых, неинтерактивных клиентских приложений или компонентов (включая ASP, ASP.NET, DCOM и NT Services), поскольку Office может демонстрировать нестабильное поведение и / или или тупик, когда Office работает в этой среде.

Если вы создаете решение, которое выполняется в контексте на стороне сервера, вы должны попытаться использовать компоненты, которые были сделаны безопасными для автоматического выполнения. Или вы должны попытаться найти альтернативы, которые позволяют хотя бы части кода работать на стороне клиента. Если вы используете приложение Office из серверного решения, приложению не хватит многих необходимых возможностей для успешной работы. Кроме того, вы будете рисковать стабильностью вашего общего решения. Подробнее об этом читайте в статье Особенности серверной автоматизации Office .

Вы можете рассмотреть возможность использования EWS или Outlook REST API, см. Управляемый API EWS, EWS и веб-службы в Exchange для получения дополнительной информации.

0 голосов
/ 09 мая 2018

Вы должны включить FormsAuthentication в webconfig

<authentication mode="Forms">
  <forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>

, тогда вы должны установить userName на

FormsAuthentication.SetAuthCookie(userName, true);

Когда пользователь отправляет форму входа

Вы можете связаться с userName с помощью User.Identity.Name;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...