Использование логина / пароля для подключения к Active Directory User - PullRequest
0 голосов
/ 05 марта 2012

Чтобы подключить клиентский интерфейс к моему кубу, я использую msmdpump.dll, который позволяет любому подключаться к ssas через http.

Но у меня есть проблема безопасности, потому что доступ к dll в IIS является анонимным. Таким образом, любой, кто найдет URL-адрес библиотеки DLL, может подключиться к моему кубу, потому что не требуется логин / пароль. Мы используем это решение, поскольку локальное имя пользователя и домены передаются в IIS при подключении пользователя к веб-сайту.

Архитектура такова:

  • Один веб-сайт на сервере IIS (имя домена - AA)
  • Куб на SSAS на втором сервере (имя Домена - AA, то есть тот же домен, что и у сервера IIS)
  • Разрешить пользователям входить в Active Directory (в домене AA)
  • xxx пользователи подключаются к веб-сайту (локальный пользователь и локальный домен на каждом компьютере)

Чтобы избежать анонимного режима, я хотел бы сделать что-то вроде этого:

  • Пользователь заходит на сайт
  • Сайт запрашивает учетные данные у пользователя
  • Пользователь вводит свое имя пользователя и пароль из Active Directory в любой форме веб-сайта и предоставляет информацию
  • IIS распознает его и идентифицирует пользователя как пользователя домена

Это пример моего описания:

  • У меня есть аккаунт в домене AD "AA"
  • Учетная запись AA \ toto и мой пароль 1234
  • Этому пользователю разрешено подключаться к ssas
  • Я из дома (без домена AA) и захожу на сайт куба
  • Появляется форма, запрашивающая мой логин и пароль
  • Я поставил AA \ toto и 1234
  • IIS позволяет мне перейти на другую страницу с учетными данными моей учетной записи AD

Кто-нибудь знает, возможно ли это?

Если кто-нибудь знает, какой режим аутентификации Excel использует в ODC-файле для подключения SSAS, возможно, это будет хорошей отправной точкой.

РЕДАКТИРОВАТЬ: Я пытался поставить «Базовую аутентификацию» в IIS на сайте DLL. Если я поставлю учетную запись, которой нет в домене, доступ будет запрещен в Excel. Но если я поставлю хороший аккаунт, Excel успешно подключится к ssas. Я думаю, что я близок к решению. Я постараюсь сделать страницу входа и посмотреть, работает ли соединение.

1 Ответ

0 голосов
/ 05 марта 2012

Microsoft по умолчанию предоставляет поставщика членства в Active Directory, который позволит вам аутентифицировать пользователей с помощью Active Directory.

Для начала требуется совсем немного, в файле web.config добавляемого вами веб-сайта:

<membership defaultProvider="ADMembershipProvider">
  <providers>
    <clear />

    <add name="ADMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" attributeMapUsername="sAMAccountName" connectionStringName="ADConnectionString" />
  </providers>
</membership>

и соответствующая строка подключения:

<add name="ADConnectionString" connectionString="LDAP://My-Connection-String,OU=users,OU=CSL,DC=your-domain,DC=Local" />

Это должно помочь вам начать работу, в моем приложении MVC это было все, что нужно для начала распознавания учетных данных пользователей с учетными записями Active Directory.... стандартная форма имени пользователя и пароля в MVC сработала сразу.

Однако ... аутентификация по ролям может стать немного более сложной!Зависит от того, нужна ли вам эта функциональность, хотя ...

Редактировать: Подробнее о строке подключения LDAP здесь ... https://serverfault.com/questions/130543/how-can-i-figure-out-my-ldap-connection-string

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