![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
tatbesidovska |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 139 Регистрация: 9.4.2008 Репутация: нет Всего: нет |
начиталась на форумах про авторизацию и окончательно запуталась, подскажите, пожалуйста, как реализовать вот это:
пишу программу на C#, база данных SQL2000. При первом запуске программы отображается форма авторизации. Список доступных пользователей в ComboBox из базы, пользователь выбирает себя и вводит пароль(или не вводит), нажимает вход, введенные данные запоминаются в базу(пароль захэшировать), при повторном входе, программа сравнивает введенные данные с данными в базе и производит вход в программу. Так же пользователь может менять свой пароль. Далее, чтобы администратор мог менять роли пользователям, мог отследить все движения в базе любого пользователя. Буду рада любым подсказкам, примерам, спасибо |
|||
|
||||
Yagmort |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 339 Регистрация: 17.6.2009 Репутация: нет Всего: -1 |
Короче, есть таблица 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 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 19 Регистрация: 9.5.2007 Репутация: нет Всего: нет |
Лучше использовать параметризованный запрос, т.к при вводе в поле login следующего: Login' or 1=1 -- получите весьма забавный результат.
Это сообщение отредактировал(а) Eduard1 - 30.3.2012, 21:10 |
|||
|
||||
VirusUZ |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 161 Регистрация: 9.4.2010 Где: Узбекистан, Навои й обл. Репутация: -1 Всего: -2 |
SELECT * FROM Users WHERE
(user='"+TextBox1.text.replace("'","").replace("`","")+"') AND (pass='"+textbox2.text.replace("'","").replace("`","")+"') --------------------
Virus |
|||
|
||||
gambit |
|
|||
![]() Эксперт ![]() ![]() ![]() Награды: 1 Профиль Группа: Комодератор Сообщений: 1359 Регистрация: 25.6.2006 Где: я? Репутация: 5 Всего: 40 |
Ребята, мне кажется человек спросил в общем про авторизацию, а не как составить запрос. А ваши составления запроса и именование контролов - ну если бы человек написал такой код, в первую неделю после института, его бы ткнули в это, если более опытный напишет такое, то возникнет очень серьезный вопрос о профпригодности и необходимости этого человека на раб месте. И не надо отписываться про "это пример", "это для новичка", писать надо изначально как надо, а не репетируя и откладывая в памяти безумные вещи.
Это сообщение отредактировал(а) gambit - 6.4.2012, 12:35 |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |