Главное, что нужно понять, это то, что вы не можете аутентифицировать пользователя с помощью стандартной аутентификации Forms Authentication на нескольких доменах. Например, dev.google.com и www.google.com - это разные домены, и если пользователь регистрируется на dev.google.com, он не будет автоматически зарегистрирован на www.google.com, если только Google не сделает что-то специальное для этого. Это происходит потому, что браузер не может получить доступ к файлам cookie другого сайта.
Единственный способ заставить междоменную авторизацию работать - это включить ключевое значение, например, идентификатор сессии, в строку запроса URL, который веб-сайт просматривает и устанавливает пользовательский файл cookie аутентификации. Вы, вероятно, можете сделать это вручную на своем сайте, используя небольшое количество собственного кода.
Пример: http://www.example.com/autoLogin.aspx?sessionid=23232323
Опасность такого подхода заключается в том, что кто-то может подделать сессию пользователя, узнав адрес, который использовал пользователь, и проверив идентификатор сессии. Поэтому необходимо убедиться, что значение, используемое для аутентификации пользователя в разных доменах, чувствительно ко времени и динамично. Не делайте его идентификатором пользователя, именем пользователя или чем-то подобным.
Теперь, если сайты находятся на одном домене, вы можете дать им всем один и тот же MachineKey, и тогда пользователь, уже вошедший на один сайт, не будет выходить из системы при переходе по разным сайтам на одном домене.
Изучите модель поставщика членства в ASP.Net.
Ниже приводится небольшой образец ссылок на ресурсы MSDN по этому поводу. Он должен покрыть все ваши потребности. Последние две ссылки относятся к образцу реализации на SQL. Вы можете легко расширить поля в соответствии со своими потребностями.
Другой вариант - реализовать вход с помощью OpenID / Windows Live или аналогичный.