| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .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 |
| Ребята, мне кажется человек спросил в общем про авторизацию, а не как составить запрос. А ваши составления запроса и именование контролов - ну если бы человек написал такой код, в первую неделю после института, его бы ткнули в это, если более опытный напишет такое, то возникнет очень серьезный вопрос о профпригодности и необходимости этого человека на раб месте. И не надо отписываться про "это пример", "это для новичка", писать надо изначально как надо, а не репетируя и откладывая в памяти безумные вещи. |