Я нашел статью, описывающую, как связать существующее членство с OpenID, но когда пользователь использует какой-либо провайдер OpenID для входа в систему, когда мое приложение создает из него учетную запись, он ставит свою ссылку для аутентификации в качестве имени пользователя и отображает имя в качестве комментария. Как я могув настоящее время определяется, что отображать как имя пользователя:
string username = Membership.GetUser(UserID).UserName;
return string.IsNullOrEmpty(Membership.GetUser(UserID).Comment) ? username : Membership.GetUser(username).Comment;
Это действительно не проблема, но теперь я должен как-то ссылаться на страницу профиля пользователя, и я не уверен, как это сделать, вотпример того, что может работать для меня:
www.example.com/users/Guid/DisplayName
Отображаемое имя - это либо имя пользователя, если он зарегистрировался на моей странице, либо комментарий, если пользователь использовал провайдера OpenID, создает учетную запись.
, если я сделал что-то подобное:
www.example.com/users/DisplayName
Я не уверен, что он не отобразит неправильного пользователя, так как кто-то может повторно зарегистрировать имя пользователя "Foo" через членство, и какой-то другой пользователь использует это имя пользователя с OpenID, поэтому он получит "Foo" вего поле комментария
Итак, чтобы закончить мой вопрос, было бы плохо поместить GUID пользователя в перенаправленный URL, поскольку я видел подобные вещи на человекеу других сайтов, или есть способ получить целое число из GUID туда и обратно?