FormsAuthentication.SetAuthCookie не работает в IE9 или Chrome

Извините, если это было закрыто, но я собираюсь выдернуть волосы. Мой сайт использует проверку подлинности с помощью форм и отлично работает при тестировании на // localhost, но когда я публикую в Интернете, он не работает в IE9. Я выполнил все шаги, описанные в руководствах, но при использовании IE9 или Chrome FormsAuthentication.SetAuthCookie никогда не создает cookie. Кикер - когда я использую Firefox, он работает. Ниже приведен код из моего web.config и мой код на C #.

По сути, я собираю имя пользователя и пароль от пользователя и аутентифицирую свой SQL Server с помощью сохраненной процедуры. Затем верните временный веб-ключ, который сайт использует для взаимодействия с профилем пользователя. Веб-ключ хранится в файле cookie FormsAuthentication в качестве идентификатора, который я могу получить для проверки входа пользователя в систему.

Кроме того, я знаю, что файл cookie аутентификации никогда не создается, потому что у меня есть элемент управления asp: loginstatus на странице, которая никогда не меняется.

web.config:

<authentication mode="Forms">
  <forms loginUrl="Login.aspx" 
         protection="All"
         path="/" 
         slidingExpiration="true" 
         timeout="60"  
         cookieless="AutoDetect" />
 </authentication>
 <authorization>
  <deny users="?"/>
  <allow users= "*"/>
 </authorization>

в коде позади:

void LogUserIn(string UserEmail, string Pwd)
{
    conn = new SqlConnection(connstr);
    sql = new SqlCommand("exec usp_AuthLogin @Email, @Pwd", conn);
    sql.Parameters.AddWithValue("@Email", UserEmail);
    sql.Parameters.AddWithValue("@Pwd", Pwd);
    try
    {
        conn.Open();
        reader = sql.ExecuteReader();
        while (reader.Read())
        {
            Result = reader["Result"].ToString();  // value of webkey
        }
    }
    catch (Exception ex)
    {
    }
    finally
    {
        conn.Close();
    }
    // if successful log in and create cookie
    if (Result != "Denied")
    {
        FormsAuthentication.SetAuthCookie(Result, true);  // set cookie with webkey from sql server
        LoggedIn = true;
    }
    else
    {
        LoggedIn = false;
    }
}

Пожалуйста, помогите

7
задан king conch 7 August 2011 в 06:22
поделиться