2015-09-30 10 views
0

Я являюсь структурой с перенаправлением в моем веб-приложении asp.net с C#.Response.Redirect показывает/Account/Login? ReturnUrl =% 2f

Когда я вхожу на страницу входа и заполняю все функции, а затем перенаправляю на следующую страницу, отображается url /Login?ReturnUrl=%2f.

Так я гугле вопрос и добавил эти строки в web.config

<appSettings> 
    <add key="autoFormsAuthentication" value="false" /> 
    <add key="enableSimpleMembership" value="false"/> 
    </appSettings> 

    <authentication mode="Forms"> 
     <forms loginUrl="~/Account/Login.aspx" timeout="43280" /> 
    </authentication> 

Но все тот же URL будет выставлялись, когда я делать Response.Redirect("SelectApp.aspx"); где в SelectApp.aspx является веб-форму помещают в папку учетной записи, где в Login.aspx также размещается.

protected void LoginButton_Click(object sender, EventArgs e) 
     { 
      con.Open(); 
      SqlCommand cmd = new SqlCommand("select * from UserMaster where USER_NAME [email protected] and [email protected]", con); 
      //string enPwd = Encode(Password.Text); 
      cmd.Parameters.AddWithValue("@username", UserName.Text); 
      cmd.Parameters.AddWithValue("@password", Password.Text); 
      SqlDataAdapter da = new SqlDataAdapter(cmd); 
      DataTable dt = new DataTable(); 
      da.Fill(dt); 
      if (dt.Rows.Count > 0) 
      { 
       Response.Redirect("SelectApp.aspx"); 
      } 
      else 
      { 
       ClientScript.RegisterStartupScript(Page.GetType(), "validation", "<script language='javascript'>alert('Invalid Username and Password')</script>"); 
      } 
     } 

Я добавил код, указанный выше. Но я не получаю решения для своей проблемы.

+0

пожалуйста, дайте код метода авторизации – dush88c

+0

подлинности ли пользователь? Если нет, структура перенаправляется на страницу входа. – Stefan

+0

Просто помните, но все же хотите убедиться, что это работает или нет. В выше, где вы перенаправляете, вы передаете относительный URL вместо того, чтобы пытаться передать абсолютный URL-адрес и посмотреть, все ли вы получаете 'ReturnUrl =% 2f'. – Prabhat

ответ

0

Это всего лишь догадка, попробуйте: Response.Redirect («SelectApp.aspx», false);

В основном потому, что окончание реакции может помешать аутентификации ...

Я не проверял, но я помню, как работает в подобной проблеме. Установка параметра «endResponse» в «false» сделала трюк.

1

Прежде чем перенаправить на "SelectApp.aspx". Попробуйте добавить FormsAuthentication.SetAuthCookie(UserName.Text.Trim(), false);

0

Проверьте разрешение тегов вашего web.config, может быть, даже аутентифицируется у вас есть какие-либо ограничения на тип:

<authorization> 
    <deny users = "*" /> 
</authorization>