Создайте нашу собственную функцию входа в систему в asp.net без использования стандартного входа в систему управления ASP.NET - PullRequest
0 голосов
/ 20 января 2011

Как создать учетную запись, зарегистрироваться и после входа в систему, затем имя пользователя, вошедшего в систему, будет отображаться на каждой странице с помощью Label, без использования управления входом и создания мастера пользователя

У меня есть следующее поле в моей таблице1

ID        Username        Email id         Password
1         dobriyal        dd@d.com         ssssss
2         manish          tt@d.com         ttreter

я хочу создать логин на странице sumit.aspx, используя Textbox1 и textbox2 и кнопку ... когда пользователь вводит emailid в textbox1 и пароль в textbox2, тогда если userfind в базе данных в соответствии с emailid и паролем, введенными в textbox1 и textbox2 .. .. затем имя пользователя для входа будет отображаться в label1 каждой страницы ... где у меня есть ярлык 1 на странице ///

означает .... если у меня есть label1 на Default.aspx, myname.aspx, defaul2.aspx, то на каждой странице текст label1 будет регистрироваться в имени пользователя ..... до тех пор, пока они не войдут в его сеанс ...

Как это сделать с помощью Vb.NET

Помните, что я не хочу использовать мастер входа по умолчанию и создание пользователя, статус входа и контроль имени входа в ASp.NET ...

1 Ответ

1 голос
/ 20 января 2011

Ответ на ваш вопрос очень широк. Поэтому вместо кода я даю вам алгоритм.

1. Создайте метод, который будет проверять предоставленные имя пользователя и пароль в вашем файле слоя данных. Например. bool IsAuthenticatedUser (). Внутри этого метода запустите Command.ExecuteScalar. Вот запрос"

Declare @Count =(Select Count(*) From Login 
                Where UserName = @UserNAme and Password = @Password)
               Select @Count;  

- Предполагается, что вы используете Sql Server 2008

2. Теперь в вашем методе IsAuthenticated проверьте, является ли возвращаемое значение единицей, затем верните true, иначе false. Как то так

int count = (int)command.ExecuteScalar();
If (count ==1)
{
  return true;
}
return false;

3. В пользовательском интерфейсе проверьте значение, возвращаемое методом. Если это правда, перенаправьте пользователя на его страницу. И установить сессию. Для отображения имени электронной почты идентификатор на странице, После успеха метода IsAuthenticated создайте другой метод, который будет выбирать нужные объекты в базе данных и заполнять их данными. Как то так

If(IsAuthenticatedUser(username, password))
  {
     Datatable dt = GetUserDetails(username,password);
     If(dt!=null)
     {
         if(dt.rows.count >0)
          {
               // here there is only one row so you can use index [0] also
               foreach(DataRow dr in dt.rows)
               {
                   Session["UserName"] = dr["UserName"].tostring();
                   Session["Email"] = dr["Email"].tostring();
               }
          }
     } 

Теперь на нужной странице проверьте, не равны ли оба сеанса значения NULL, затем установите значение на нужную метку.

If (Session["UserName"]!=null && Session["Email"]!=null)
{
   lblUserName.Text = "Welcome " + Session["UserName"].ToString();
   lblEmail.Text = Session["Email"].tostring();
}

** Здесь параметр userName и password будет значением, переданным из текстового поля.

string username = txtUserName.text.trim();
string password = txtPassword.text.trim();

Также вы должны поставить проверки перед принятием ввода от пользователей, так как это может привести к внедрению sql и раскрытию всей вашей базы данных. но для домашних целей вы можете сделать это. **

См. Обновление:

  1. Для отображения имени на каждой странице Создайте главную страницу и добавьте на нее две метки. Для добавления главной страницы, из контекстного меню Добавить новый элемент -> MasterPage. Теперь в представлении исходного кода добавьте таблицу в соответствии с вашими потребностями. Также есть ContentPlaceholder, не добавляйте внутри этого тега. Это пространство для отображения других дочерних страниц. в событии загрузки главной страницы используйте метку = код сеанса для установки имени. Также добавьте кнопку ссылки, в ее событии нажмите

    * +1039 * Session.Abandon (); * * Response.Redirect тысяча сорок-один ( "~ / Login.aspx Выход = 1?"); * +1042 *

    -> Я добавил новую вещь? Выход из системы, называемый строкой запроса, используемый для передачи значений с одной страницы на другую. Здесь я использую Login = 1, что означает, что я могу знать, что я на странице входа, потому что я вышел из системы.

...