Андрей Голубцов Ответов: 1

Как сделать страницу входа в систему с помощью EF, linq и веб-форм


Х Я делаю ASP.NET приложение веб-форм, и я ищу способ сделать хорошую, защищенную и простую в создании страницу входа .
Моя главная проблема в том, что у меня уже есть база данных SQL, и я использую EF + LINQ для работы с ней . Из-за этого я не могу использовать Idenity, Owin и Katana ( если кто-то сейчас, как это можно сделать в VS 2012, мне тоже поможет ) .
Пожалуйста, помогите мне выбрать технологию для создания страницы входа или некоторых образцов с использованием веб-форм EF +LINQ+.

Что я уже пробовал:

Заставить его бросить : долг, отличии друг от друга и членства SQL . Во-первых , это плохо, потому что для этого мне нужна миграция, во-вторых, потому что мне нужно использовать Linq

F-ES Sitecore

Использование EF не мешает вам использовать удостоверение личности или членство. Если вы беспокоитесь о стабильности базы данных, то храните свои идентификационные записи в ее собственной базе данных, чтобы вам не нужно было беспокоиться о миграции или изменениях в другой базе данных.

Первое правило безопасности заключается в том, что вы никогда не бросаете свои собственные.

Андрей Голубцов

Вы не поняли моего вопроса . Я не могу сделать это с Identity, потому что ему нужно создавать новые таблицы (он генерируется, когда вы его используете), я не могу использовать членство, потому что я использую Linq и EF . Из-за этого я спрашиваю, Как сделать хорошую страницу входа в систему с помощью EF +linq +web forms

F-ES Sitecore

Обе эти технологии полностью автономны и не имеют ничего общего с тем, что вы используете для доступа к своим собственным данным. Если бы вы не могли использовать членство или удостоверение личности, потому что вы используете EF, то никто не использовал бы удостоверение или членство, они были бы бесполезны, и вы нашли бы тысячу учебников о том, как сделать свой собственный логин, как это делали бы все.

Андрей Голубцов

Я пытался использовать учебники, но все они касаются идентичности или нет, EF или linq.

Vincent Maverick Durano

Ф-Эс учитываем правильно. Использование EF и LINQ не имеет никакого отношения к тому, используете ли вы Indenty или поставщиков членства. Для получения разъяснений вам, возможно, придется прочитать документы о каждом из них.

1 Ответов

Рейтинг:
2

Vincent Maverick Durano

Использование EF и LINQ не имеет ничего общего с использованием Identity или членства в SQL. EF - это объектно-реляционный картограф (ORM), и вы будете использовать его в качестве замены старой доброй равнины ADO.NET для работы с данными. LINQ, с другой стороны, используется для запроса объектов и коллекций. Например, объекты, сгенерированные из вашего EF. LINQ также предоставляет множество методов расширения, которые вы можете использовать для легкого манипулирования объектами / коллекциями при запросе. Сказав это, вы все равно можете использовать LINQ и EF для работы ASP.NET идентичность.

Но если вы не хотите использовать Indentity или членство, то вы можете сделать что-то вроде этого:

private string GetUserPassword(string loginName) {  
            using (DBEntities db = new DBEntities()) {  
                var user = db.SYSUsers.Where(o => o.LoginName.ToLower().Equals(loginName));  
                if (user.Any())  
                    return user.FirstOrDefault().PasswordEncryptedText;  
                else  
                    return string.Empty;  
            }  
} 

protected void Button1_Click(object sender, EventArgs e){  
		string loginName = txtLoginName.Text.Trim();
        	string password = GetUserPassword(loginName);  
  
                if (string.IsNullOrEmpty(password))  
                    Response.Write("The user login or password provided is incorrect.");  
                else {  
                    if (txtPassword.Text.Equals(password)) {  
                        FormsAuthentication.SetAuthCookie(loginName, false);  
                        Response.Redirect("~/Home.aspx");
   
                        //you can also use the FormsAuthentication.RedirectFromLoginPage() 
                        //to redirect 
                    }  
                    else {  
                        Response.Write("The password provided is incorrect.");  
                    }  
                } 
} 


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