В настоящее время я играю с DotNetOpenAuth, чтобы веб-сайт ASP.NET (C #) использовал OpenID вместо обычного входа в систему -программа пароля для пользователя и обработки сеанса.
До сих пор я добавил DotNetOpenAuth.dll
в свой проект и попробовал тестовую страницу входа со следующим:
<rp:OpenIdLogin ID="OpenIdLogin1" runat="server" />
Когда я запускаю страницу, я ввожу действительный URL-адрес myopenid, и веб-сайт перенаправляется на страницу myopenid, где я ввожу свой пароль, и в случае успеха он возвращается обратно на мой default.aspx
из-за следующего в моем web.config
:
<authentication mode="Forms">
<forms defaultUrl="/Default.aspx" loginUrl="~/Login.aspx"/>
</authentication>
Теперь, когда пользователь "вошел в систему", как можно обработать мой сеанс? На данный момент я не знаю, как я могу, например, проверить, активен ли сеанс, или как завершить сеанс.
Мой основной вопрос: как я могу управлять сеансом после аутентификации пользователя с помощью OpenID?
[Обновление]
Теперь я использую следующее для проверки аутентификации: HttpContext.Current.User
, и теперь я могу проверить, аутентифицирован ли пользователь в сеансе.
Есть ли способ «связать» данные пользователя, хранящиеся в моей базе данных, с учетной записью openid?