powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / смена паролей
25 сообщений из 25, страница 1 из 1
смена паролей
    #38767491
da haroch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе утро!
Встала задача о смене паролей, вот читаю пока, но не как не могу сообразить, как организовать смену пароле, логин и пароль хранится в базе данных mssqlserver.
Читала про MembershipUser u = Membership.GetUser(User.Identity.Name);
u.ChangePassword(u.ResetPassword(), newPassword);
Но как это связать с базой. Мне кажется это всё должно делаться на много проще, может у кого-то есть статья почитать? или пример как это организованно у вас. За ранее спасибо!!
...
Рейтинг: 0 / 0
смена паролей
    #38767510
VIT2708_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
da haroch,

1. Использльвать базу которая генерится студией и пользоваться стандартным MemberShip
2. Написать свой MemberShip унаследованный от стандартного MemberShip-а
3. Написать самому с ноля.
...
Рейтинг: 0 / 0
смена паролей
    #38767545
da haroch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VIT2708_,
и правда а кто сказал что будет легко. Спасибо вам что отвечате. Буду рыть другого выбора нет =)))
...
Рейтинг: 0 / 0
смена паролей
    #38767561
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
da harochлогин и пароль хранится в базе данных mssqlserver

Пароль никогда не хранится в базе данных, только его хеш.

Расскажите по-подробней, где вы хотите приделать смену паролей? Версия asp.net и какой подход: WebForms или MVC? Что вообще сейчас есть?
...
Рейтинг: 0 / 0
смена паролей
    #38767563
VIT2708_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
da haroch,

погуглите "CustomMemberShip" ну или попробуйте если это возможно использовать стандартную базу, ну или попробовать перенести таблицы и ХП из генерируемой студии базой в вашу
...
Рейтинг: 0 / 0
смена паролей
    #38767580
da haroch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVostt,
на странице хочу сделать кнопку "сменить пароль".
Версия. ASP.net 2.0 Web Forms
<authentication mode="Forms">
...
Рейтинг: 0 / 0
смена паролей
    #38767582
da haroch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
da haroch,
а что есть сейчас, да вроде всё есть, кроме смены паролей=)))хочу смену паролей =)))))))
...
Рейтинг: 0 / 0
смена паролей
    #38767610
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttWebForms или MVC?da harochда вроде всё есть
...
Рейтинг: 0 / 0
смена паролей
    #38767615
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProhVosttWebForms или MVC?
da harochда вроде всё естьсорри, почему-то это сообщение отобразилось как последнее, предыдущего не увидел
...
Рейтинг: 0 / 0
смена паролей
    #38767618
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
da haroch,

... читайте обзоры
ASP.NET Login Controls Overview
...
Рейтинг: 0 / 0
смена паролей
    #38767623
da haroch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, не смешно=))))
...
Рейтинг: 0 / 0
смена паролей
    #38767626
da haroch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro, у меня может тут трагедия, я ваще по ходу событий учусь всё делать=) руководство вдруг решило, что я умею писать и валят на меня кучу задач, вот сижу и изучаю, поэтому может быть и где то тупо спрашиваю, простите.
...
Рейтинг: 0 / 0
смена паролей
    #38767632
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
da harochShocker.Pro, у меня может тут трагедия, я ваще по ходу событий учусь всё делать=) руководство вдруг решило, что я умею писать и валят на меня кучу задач, вот сижу и изучаю, поэтому может быть и где то тупо спрашиваю, простите.А более опытных разработчиков у вас нет?
...
Рейтинг: 0 / 0
смена паролей
    #38767636
da haroch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA, видимо нет
...
Рейтинг: 0 / 0
смена паролей
    #38767638
da haroch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA, кто есть, те пхп
...
Рейтинг: 0 / 0
смена паролей
    #38767641
da haroch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ладно соберись тряпка, пошла соображать дальше.
...
Рейтинг: 0 / 0
смена паролей
    #38767642
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
da haroch,

...если все равно учитесь, так может сразу на MVC/WebAPI ???... Во-первых, модно-стильно-молодежно, во вторых, больше подсказчиков тут .. ВебФормисты уже на пенсиях ....
...
Рейтинг: 0 / 0
смена паролей
    #38767645
da haroch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
carrotik,
да как сказать учусь, уже много проектов сделано. Просто порой задачи встают, которые я вообще даже не знаю, как сделать. А по поводу MVC я уже думала, вот только с временем пока плохо.
...
Рейтинг: 0 / 0
смена паролей
    #38767648
da haroch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
carrotikВебФормисты уже на пенсиях ....
Да ладно вы же не на пенсии и часто мне помогаете=))))
...
Рейтинг: 0 / 0
смена паролей
    #38767653
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
da harochhVostt,
на странице хочу сделать кнопку "сменить пароль".
Версия. ASP.net 2.0 Web Forms
<authentication mode="Forms">

Покажите код логина. Код, где проверяется логин/пароль пользователя. И я скажу что делать дальше.
...
Рейтинг: 0 / 0
смена паролей
    #38767688
da haroch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
//Подключаемся к базе данных
using (SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["TNConnectionString"].ConnectionString)
SqlCommand cm = new SqlCommand("FindUser", cn);
SqlDataReader dr = default(SqlDataReader);
FormsAuthenticationTicket ticket = default(FormsAuthenticationTicket);
int n = 0;
string strRoles = null;
string strEncrypted = null;
//Открываем соединение
try {
	cn.Open();
} catch (SqlException ex) {
	Response.Write(ex.Message);
	return;
}
//Задаём тип команды
cm.CommandType == System.Data.CommandType.StoredProcedure
//Добавляем параметры имени
dynamic prmName = new SqlParameter("@Name", System.Data.SqlDbType.NVarChar, 50);
prmName.Value = txtName.Text;
cm.Parameters.Add(prmName);
//Добавляем параметр пароля
dynamic prmPass = new SqlParameter("@Password", System.Data.SqlDbType.NVarChar, 50);
prmPass.Value = txtPassword.Text;
cm.Parameters.Add(prmPass);
//Выполняем запрос
n == cm.ExecuteScalar

if (n > 0) {
	// Если пользователь с таким именем и паролем существует, то ищем его роли
	cm = null;
	cm = new SqlCommand("exec FindRoles '" + txtName.Text + "'", cn);
	dr = cm.ExecuteReader();
	// Составляем список ролей
	while (dr.Read) {
		if (string.IsNullOrEmpty(strRoles)) {
			strRoles += dr(0);
		} else {
			strRoles += ", " + dr(0);
		}
	}
	// Создаём аутентификационный билет
	ticket = new FormsAuthenticationTicket(1, txtName.Text, DateTime.Now, DateTime.Now.AddMinutes(30), false, strRoles);
	// Шифруем билет
	strEncrypted = FormsAuthentication.Encrypt(ticket);
	// Сохраняем cookie-файл
	Response.Cookies.Add(new HttpCookie("UrlAuthz", strEncrypted));

	// Возвращаемся на исходную страницу
	FormsAuthentication.RedirectFromLoginPage(txtName.Text, false);

} else {
	// Если пользователь не был найден, то выдаём сообщение об ошибке
	lbl.Visible = true;
}
...
Рейтинг: 0 / 0
смена паролей
    #38767706
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
da haroch,

Ну собственно, по приведённому коду видно, что нужно узнать имя хранимой процедуры в базе данных или создать её, которая бы меняла пароль пользователя. Процесс аналогичный:

Код: c#
1.
2.
//Подключаемся к базе данных
using (SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["TNConnectionString"].ConnectionString)



Потом нам нужна хранимая процедура, например, ChangePassword

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
SqlCommand cm = new SqlCommand("ChangePassword", cn);
SqlDataReader dr = default(SqlDataReader);
// убрал // FormsAuthenticationTicket ticket = default(FormsAuthenticationTicket);
int n = 0;
string strRoles = null;
string strEncrypted = null;
//Открываем соединение
try {
	cn.Open();
} catch (SqlException ex) {
	Response.Write(ex.Message);
	return;
}
//Задаём тип команды
cm.CommandType == System.Data.CommandType.StoredProcedure
//Добавляем параметры имени
dynamic prmName = new SqlParameter("@Name", System.Data.SqlDbType.NVarChar, 50);
prmName.Value = txtName.Text;
cm.Parameters.Add(prmName);
//Добавляем параметр пароля
dynamic prmPass = new SqlParameter("@NewPassword", System.Data.SqlDbType.NVarChar, 50);
prmPass.Value = txtPassword.Text; // тут типа должен новый пароль находиться
cm.Parameters.Add(prmPass);
//Выполняем запрос
n == cm.ExecuteScalar



Вот и всё собственно. Если бы использовался родной ASP.NET-овский провайдер, было бы намного проще конечно. Ну а раз такие костыли, то придётся впендюривать очередной г. код
...
Рейтинг: 0 / 0
смена паролей
    #38767733
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
da haroch, понятно...

Вы бы для начала почитали про Forms Authentication Provider и как оно устроено.
Тогда хотя бы поняли, что у многих даже не встаёт сл. проблемы: "Но как это связать с базой. Мне кажется это всё должно делаться на много проще, может у кого-то есть статья почитать?".
...
Рейтинг: 0 / 0
смена паролей
    #38767739
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вообще hVostt прав: если уже начали делать на своих собственных хранимках, то продолжайте по аналогии.

Единственно надо задуматься, что не проще-ли сейчас всё переписать, потому как в дальнейшем изменения вносить в свой велосипед будет всё сложнее.
...
Рейтинг: 0 / 0
смена паролей
    #38767754
da haroch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANA, я знаю что вы правы, это просто были самые первые мои начинания, я сейчас стараюсь переделывать. Но до этого руки не доходили, пока снова не пришлось туда лезть. Я уже и забыла даже что такое есть=)
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / смена паролей
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]