Как интегрировать OpenId с Членством ASP.NET в MVC

использование tail -f output должно работать.

5
задан Picflight 27 July 2009 в 05:42
поделиться

2 ответа

Есть несколько вопросов, подобных вашему, уже есть в StackOverflow. Этот кажется особенно похожим.

Если вы уже используете поставщика членства для своего сайта и просто добавляете к нему OpenID, то я думаю, вы ' Вы пока застряли с членством и можете использовать один из ответов на вопрос, на который я ссылался, чтобы получить приличного поставщика членства, который МОЖЕТ работать на вас.

Но если вы пишете новый сайт и просто хотите, как вы сказали, «использовать роли и сохранить имя пользователя для пользователя в моих таблицах», то НЕ используйте членство в ASP.NET вообще. Это ТАК не стоит! Это не соответствует парадигме OpenID без пароля и вызывает больше горя, чем что-либо другое. Если вы сами не боитесь небольшого доступа к базе данных, сделайте это так. И вы можете очень легко получить поведение ролей, просто выполнив собственный вызов FormsAuthentication.RedirectFromLoginPage или FormsAuthentication.SetAuthCookie и передав роли, которые заполняет пользователь.

Если вы пишете новый сайт и просто хотите «использовать роли и сохранять имя пользователя в моих таблицах», как вы сказали, то НЕ используйте членство в ASP.NET вообще. Это ТАК не стоит! Это не соответствует парадигме OpenID без пароля и вызывает больше горя, чем что-либо другое. Если вы сами не боитесь небольшого доступа к базе данных, сделайте это так. И вы можете очень легко получить поведение ролей, просто выполнив собственный вызов FormsAuthentication.RedirectFromLoginPage или FormsAuthentication.SetAuthCookie и передав роли, которые заполняет пользователь.

Если вы пишете новый сайт и просто хотите «использовать роли и сохранять имя пользователя в моих таблицах», как вы сказали, то НЕ используйте членство в ASP.NET вообще. Это ТАК не стоит! Это не соответствует парадигме OpenID без пароля и вызывает больше горя, чем что-либо другое. Если вы сами не боитесь небольшого доступа к базе данных, сделайте это так. И вы можете очень легко получить поведение ролей, просто выполнив собственный вызов FormsAuthentication.RedirectFromLoginPage или FormsAuthentication.SetAuthCookie и передав роли, которые заполняет пользователь.

парадигма без пароля и просто вызывает больше горя, чем что-либо другое. Если вы сами не боитесь небольшого доступа к базе данных, сделайте это так. И вы можете очень легко получить поведение ролей, просто выполнив собственный вызов FormsAuthentication.RedirectFromLoginPage или FormsAuthentication.SetAuthCookie и передав роли, которые заполняет пользователь.

парадигма без пароля и просто вызывает больше горя, чем что-либо другое. Если вы сами не боитесь небольшого доступа к базе данных, сделайте это так. И вы можете очень легко получить поведение ролей, просто выполнив собственный вызов FormsAuthentication.RedirectFromLoginPage или FormsAuthentication.SetAuthCookie и передав роли, которые заполняет пользователь.

6
ответ дан 14 December 2019 в 08:57
поделиться

Провайдер открытого идентификатора возвращает данные о пользователе. Если вы не запрашиваете / не требуете определенные токены информации, то вам будет предоставлено только отображаемое имя пользователя и URL-адрес идентификации.

В зависимости от того, какую открытую библиотеку идентификаторов вы используете, вы можете запрашивать токены, такие как FirstName LastName, DOB (если вам действительно не все равно), и если пользователь предоставил эту информацию о своей выбранной личности, вы получите ее обратно. .

Затем вы можете использовать это для создания нового пользователя в системе членства. Вам, вероятно, придется дать им фиктивный пароль, чтобы обойти требования API членства.

Чтобы подтвердить логин, предоставьте одну форму, которая принимает имя пользователя и пароль, а другая - идентификационный URL. После того, как вы подтвердили пользователя через открытый идентификатор, попробуйте найти пользователя по имени пользователя (идентификационному URL) в API членства. Если его не существует, создайте его.

1
ответ дан 14 December 2019 в 08:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: