Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > авторизация пользователей на C#


Автор: tatbesidovska 15.4.2011, 21:31
начиталась на форумах про авторизацию и окончательно запуталась, подскажите, пожалуйста, как реализовать вот это:
пишу программу на C#, база данных SQL2000. При первом запуске программы отображается форма авторизации. Список доступных пользователей в ComboBox  из базы, пользователь выбирает себя и вводит пароль(или не вводит), нажимает вход, введенные данные запоминаются в базу(пароль захэшировать), при повторном входе, программа сравнивает введенные данные с данными в базе и производит вход в программу. Так же пользователь может менять свой пароль. Далее, чтобы  администратор мог менять роли пользователям, мог отследить все движения в базе любого пользователя. 
Буду рада любым подсказкам, примерам, спасибо

Автор: Yagmort 15.4.2011, 22:19
Короче, есть таблица Users (id_user,user,pass)
Далее создаем пару записей например 
user   |pass
------------------
Admin|123456
------------------
User1|1234

Далее конектишься к базе, и в запрос вставляешь, что то типа

a) SELECT COUNT(*) FROM Users WHERE
(user='"+TextBox1.text+"') AND (pass='"+textbox2.text+"')

Далее если результат запроса будет равен 1, то пользователь такой есть иначе, пусть авторизуется заново.
 обрабатывай, через 

try{}cath{}

b) SELECT user FROM Users WHERE
(user='"+TextBox1.text+"') AND (pass='"+textbox2.text+"')
 далее если такой пользователь есть, отследить его на сайте легко, и его действия, используя 
Session["rez"]=... // вместо троеточия вставляешь результат запроса. b

Автор: Eduard1 30.3.2012, 21:08
Лучше использовать параметризованный запрос, т.к при вводе в поле login следующего: Login' or 1=1 -- получите весьма забавный результат.

Автор: VirusUZ 3.4.2012, 11:04
SELECT * FROM Users WHERE
(user='"+TextBox1.text.replace("'","").replace("`","")+"') AND (pass='"+textbox2.text.replace("'","").replace("`","")+"')

Автор: gambit 6.4.2012, 12:34
Ребята, мне кажется человек спросил в общем про авторизацию, а не как составить запрос. А ваши составления запроса и именование контролов - ну если бы человек написал такой код, в первую неделю после института, его бы ткнули в это, если более опытный напишет такое, то возникнет очень серьезный вопрос о профпригодности и необходимости этого человека на раб месте. И не надо отписываться про "это пример", "это для новичка", писать надо изначально как надо, а не репетируя и откладывая в памяти безумные вещи.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)