1

У меня есть страница ASP.NET, размещенная на внешнем веб-сервере, встроенном в iFrame в контактную форму в CRM Online. На данный момент страница, представленная в iFrame, доступна для всего веб-сайта, но я хотел бы ограничить доступ только к пользователям, прошедшим проверку подлинности в CRM Online/Office 365. Есть ли у меня способ программно проверить, пользователь аутентифицируется в CRM Online/Office 365 из моего внешнего приложения? Я не заинтересован в том, чтобы внедрять/проверять подлинность пользователей в моем iFrame, но я просто хотел бы посмотреть, имеют ли они действительный сеанс входа в систему, и если да, отобразите страницу, а если нет, скройте ее. Любая обратная связь или направление будут высоко оценены.Программно Проверьте, прошел ли аутентификация пользователя в Office 365/CRM Online

+0

Возможно, SAML может это сделать? –

ответ

0

В этом случае его, вероятно, проще всего сделать следующее:

  1. Настройка веб-страницы для захвата идетнификации - вам нужно будет сделать, это признать, кто пользователь. Это будет во многом зависеть от того, какой метод аутентификации вы используете. Например, с помощью Windows Authentication вы можете получить имя домена пользователя, то есть MyDomain\james.wood.

  2. Затем запросите CRM через веб-службы, чтобы проверить, имеет ли этот пользователь (например, на основе имени домена) системный пользователь с ролями безопасности или конкретными привилегиями.

Таким образом, вам не нужно беспокоиться о том, что они действительно вошли в систему CRM. Вы просто проверяете, имеет ли пользователь доступ к данным в CRM. Вы можете изучить дополнительные проверки, чтобы, если веб-страница открыта вне CRM-iframe, вы не показываете содержимое веб-страницы. Кроме того, вы можете пойти еще дальше и олицетворять пользователя в любых вызовах веб-службы CRM.

Вы можете найти следующее полезное.


Редактировать

В качестве альтернативы вы можете посмотреть реализовать единый вход.

Implement single sign-on from an ASPX webpage or IFRAME.

+0

Спасибо за ответ. Я смог запросить учетные данные и проверить подлинность для веб-служб CRM. Однако мы надеялись избежать повторного запроса учетных данных и вместо этого использовать существующий сеанс входа в систему CRM Online/Office 365/«токен», поскольку пользователь уже прошел аутентификацию. Я не уверен, есть ли способ «передать» сеанс в наше приложение, которое выполняется в iFrame или сделать какой-то вызов из нашего iFrame в конечную точку маркера, чтобы определить, аутентифицирован ли пользователь. Может быть, даже cookie, который мы могли бы прочитать из браузера? –

+0

@JoshMorton, я думаю, что вам нужен один знак, тогда, см. Мое редактирование –

+0

Я предполагаю, что вы - ссылка внизу - это ответ на мой вопрос? http://stackoverflow.com/questions/37056199/how-to-setup-an-mvc-website-to-use-the-same-sso-as-crm-online-so-that-it-can-be – Daryl

 Смежные вопросы

  • Нет связанных вопросов^_^