почему это работает только на localhost - PullRequest
0 голосов
/ 22 апреля 2011

Не бери в голову, что это работает сейчас (понятия не имею, почему, но это нормально), и спасибо всем за помощь

я написал код для входа пользователей по электронной почте вместо имени пользователя, вот оно:

 protected void eLogin(object sender, EventArgs e) //allowing users to login with email
{
    string uid = Membership.GetUserNameByEmail(mainLogin.UserName);
    mainLogin.UserName = null;
    mainLogin.UserName = uid;
}

и вот контроль входа:

<asp:Login ID="mainLogin" runat="server" Orientation="Horizontal" 
    RememberMeText="Remember me" TitleText="" 
    DestinationPageUrl="~/RedirectPage.aspx" 
    OnLoggingIn="eLogin"
     >
    <CheckBoxStyle CssClass="remBox" />
    <LoginButtonStyle CssClass="loginButton" />
    <TextBoxStyle CssClass="loginTextBox" />
</asp:Login>

но он будет работать только на локальном хосте, а не на реальном хостинге. вот что идет не так: ваша попытка входа не удалась. Пожалуйста, попробуйте еще раз.

Я использую asp.net 3.5, заранее спасибо

Ответы [ 2 ]

0 голосов
/ 22 апреля 2011

Пользователь вошел в систему на основе результата функции ValidateUser в поставщике членства, который, если вы не используете настраиваемый поставщик членства, вероятно, проверяет соответствие имени поля пользователя. Возможно, в вашей среде тестирования используемая вами электронная почта фактически является именем пользователя для некоторой учетной записи, и поэтому она работает в одном месте, а не в другом.

0 голосов
/ 22 апреля 2011

Так как вы не опубликовали свою ошибку, я могу только догадываться, что ваша Membership.GetUserNameByEmail не работает. Либо ваше соединение с базой данных не удается, либо пользователь не существует в базе данных, к которой вы подключаетесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...