Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> редирект ReturnUrl= 
V
    Опции темы
neomax
Дата 14.9.2007, 01:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 134
Регистрация: 22.6.2006

Репутация: нет
Всего: нет



есть страничка для логина, при вводе правильнъх даннъх, не редеректит на Test.aspx, а возвращает 
http://localhost/JobsManager/OfficeLogin.a...ger%2fTest.aspx

код 
Код

using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Security;
using System.Web.SessionState;
using System.Data.OleDb;



    public partial class Officelogin : Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Response.Cache.SetCacheability(HttpCacheability.NoCache);
        }

        protected void Login_Click(object sender, EventArgs e)
        {
           
            int maxLoginAttempts = (int)Session["MaxLoginAttempts"];
            if (Session["LoginCount"].Equals(maxLoginAttempts))
            {
                Response.Redirect("LoginFail.aspx");
            }

                OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("App_Data/HROffice.mdb") + ";Persist Security Info=False;");
                OleDbCommand cmd = new OleDbCommand();
                cmd.Parameters.AddWithValue("@UName", txtUserName.Text.Trim());
                cmd.Parameters.AddWithValue("@Admin_Pass", txtPassword.Text.Trim());
                cmd.CommandText = "Select * from Admin where UName=@UName and Admin_Pass=@Admin_Pass";

                cmd.Connection = con;
                OleDbDataReader dr;
                con.Open();
                dr = cmd.ExecuteReader();

                if (dr.Read())
                {
                    Session["LoggedIn"] = "Yes";
                    Response.Redirect("Test.aspx");
                }
                else
                {
                    string invalidLogin = "Invalid Login, please try again.</br>" + " You have 3 attempts to login the page.";
                    lblMessage.Text = invalidLogin;
                    int loginCount = (int)Session["LoginCount"];
                    loginCount += 1;
                    Session["LoginCount"] = loginCount;
                }

             }
    }




web.config
Код

<?xml version="1.0"?>
<configuration>
    <appSettings/>
    <connectionStrings>
        <add name="testsConnectionString" connectionString="Data Source=C:\Inetpub\wwwroot\JobsManager\App_Data\HROffice.mdb;Initial Catalog=tests;Integrated Security=True" providerName="Microsoft.Jet.OLEDB.4.0"/>
    </connectionStrings>
    <system.web>
<authentication mode="Forms">
      <forms loginUrl="OfficeLogin.aspx" name=".ASPXAUTH" defaultUrl="Default.aspx" 
      protection="All" timeout="60">
        <credentials passwordFormat="Clear">
          <user name="user" password="password"/>
          <user name="user1" password="user1"/>
        </credentials>
        </forms>
    </authentication>
    
    <authorization>
      <deny users="*"/>
    </authorization>
    
    <compilation debug="true"/>
  </system.web>
  
  <location path="LoginFail.aspx">
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
  </location>
</configuration>


Помогите разобраться.

Это сообщение отредактировал(а) neomax - 14.9.2007, 01:12
--------------------
Найпопулярніші оголошення здесь - Безкоштовні оголошення
PM MAIL   Вверх
Mymik
Дата 14.9.2007, 08:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



neomax, дык ты ж ничего не делаешься для того чтобы она возвращалась на ReturnUrl. А точнее ты вообще не используешь авторизацию, которая была сделана в asp.net... Зачем сессию используешь ???

Вот пример как обычно устанавливают куки авторизации после проверки на валидность пароля.
Код

FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
    _userNameInput.Text, 
    _savePasswordInput.Checked, 
    Utilities.Configuration.AuthFormTimeout);
string encTicket = FormsAuthentication.Encrypt(ticket);
Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket));
Response.Redirect(HttpUtility.UrlDecode(FormsAuthentication.GetRedirectUrl(_userNameInput.Text, false)));


P.S. и я бы посоветовал вынести код проверки пароля в отдельный класс и юзать это дело где хочешь и как хочешь. ;о) очень удобно.


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
kedicik
Дата 14.9.2007, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 185
Регистрация: 12.4.2007

Репутация: нет
Всего: нет



У меня вопрос 
а зачем здесь используется
Код

           Response.Cache.SetCacheability(HttpCacheability.NoCache);


PM MAIL   Вверх
Mymik
Дата 14.9.2007, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



kedicik, Убивает кэширование страницы даже есть используется proxy сервер, то страница все равно будет загружаться по новой... Это как бы общие описание этого функционала. И скорее всего тут это просто как левый кусок кода. Я ж думаю, что топикстартер не будет постить сюда весь код страницы. Ну а тут просто забыл некоторые куски убрать.


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0537 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.