Вы действительно вводите идентификатор в поле перед нажатием кнопки?Вы должны.
И вы можете избежать неприятной ошибки для людей, которые забывают ввести идентификатор, добавив элемент управления RequiredFieldValidator
, указывающий на текстовое поле, а затем проверяя этот if (Page.IsValid)
в обработчике нажатия вашей кнопки передзвонить LogOn
.
Надеюсь, это поможет.Вы рассматривали возможность использования элемента управления OpenIdLogin
?Если вы снимаете для простейшего добавления, это самое простое, поскольку у вас нет кода вообще - только один тег.
Кроме того, обязательно добавьте ValidateRequest="false"
к вашему <%@ Page %>
тег в верхней части страницы входа.В противном случае ваши пользователи будут видеть случайные случайные сбои, потому что ASP.NET неправильно интерпретирует некоторые ответы аутентификации OpenID как атаки.Так, например, если верхняя строка вашего .aspx была:
<%@ Page Language="C#" AutoEventWireup="True" CodeBehind="login.aspx.cs" Inherits="OpenIdRelyingPartyWebForms.login" %>
Сделайте это
<%@ Page ValidateRequest="false" Language="C#" AutoEventWireup="True" CodeBehind="login.aspx.cs" Inherits="OpenIdRelyingPartyWebForms.login" %>