ASP.NET членство провайдер - один логин - PullRequest
7 голосов
/ 10 февраля 2010

Я рассматриваю возможность использования поставщика членства ASP.NET для нескольких различных веб-приложений / инструментов с использованием единого подхода к входу в систему.

ТРЕБОВАНИЯ

Пользователь входит в my.domain.com и видит список приложений / инструментов, на которые у них есть разрешение. Пользователь выбирает инструмент, который он хотел бы использовать, и щелкает ссылку. Когда инструмент открывается, он может определить, вошли ли они в данный момент и кто они такие, чтобы определить любые уникальные разрешения для приложения.

Я знаю, что каждое приложение может просто указывать на одну и ту же внутреннюю базу данных поставщика членства, однако потребуется ли каждому приложению логин или оно сможет определить, вошел ли пользователь в систему?

Ответы [ 3 ]

4 голосов
/ 10 февраля 2010

Каждое приложение может использовать один и тот же логин, если имя приложения одно и то же и они указывают на одну и ту же базу данных.

См. Ответ здесь: http://forums.asp.net/t/1322863.aspx для более подробной информации.

Редактировать - добавлено

Здесь также рассматривается:

http://msdn.microsoft.com/en-us/library/ms998347.aspx

1 голос
/ 17 февраля 2010
  1. Вам нужно создать общий раздел machineKey для совместного использования всеми сайтами.

  2. Вы хотите убедиться, что имена приложений идентичны

  3. Вы хотите убедиться, что строки подключения идентичны

  4. Вы хотите убедиться, что allowCrossAppRedirects в элементе формы включен

0 голосов
/ 10 февраля 2010

Если инструменты находятся в одном домене / поддомене, у вас не возникнет проблем. Это ограничение из-за файлов cookie, используемых для хранения токена зарегистрированного пользователя. Если вам нужен междоменный унифицированный вход, вы можете просмотреть Windows Identity Foundation .

...