|
v7: Вопрос по программной смене пароля пользователю | ☑ | ||
---|---|---|---|---|
0
Corvax46
24.01.13
✎
12:43
|
Добрый день.
Необходимо пользователям программно заменять пароли (именно заменить, а не узнать пароль) в определенных случаях. Так, чтобы пользователь не смог войти в базу. При использовании UsersDef.dll необходимо указывать старый пароль, что не всегда возможно. Можно ли обойти данную огорчающую особенность? Или использовать вместо пароля полученный его хэш? |
|||
1
aka AMIGO
24.01.13
✎
12:45
|
а как насчет удалять пользователя? все равно зайти не сможет, в виду отсутствия
|
|||
2
Ёпрст
24.01.13
✎
12:46
|
(0) чтоб войти в базу, знать пароли вовсе не обязательно, это так, к сведению.
Даже записей в ЖР не будет о том, что он там был. |
|||
3
aka AMIGO
24.01.13
✎
12:49
|
(2) не все догадаются :)
|
|||
4
Kreont
24.01.13
✎
12:52
|
(0) в ПриНачалеРаботыСистемы()
добавь проверку что пользователь удален и + вариант (1) вполне хватит |
|||
5
Kreont
24.01.13
✎
12:53
|
+(4) Но только не удалять физически, а помечать на удаление в спр. пользователи
|
|||
6
aka AMIGO
24.01.13
✎
12:59
|
(5) нет, просто завершать его работу, не удаляя
|
|||
7
aka AMIGO
24.01.13
✎
13:12
|
когда-то давно, в 2002 году видел такое:
в USRDEF помещается текстовый файлик, в нем строки с именами неугодных пользователей, в ГМ ОбработкаОжидания("УбиваемПользователя",10) В Проц УбиваемПользователя читается текст, после - условие если имяпользователя() найдено - ЗавершитьРаботуСистемы(0); вроде всё.. |
|||
8
Aleksey
24.01.13
✎
13:16
|
у меня так
Процедура ПриНачалеРаботыСистемы() ... Объект = СоздатьОбъект("Справочник.Пользователи"); Если Объект.НайтиПоКоду(Код) = 0 Тогда Объект.Новый(); ... глПользователь = Объект.ТекущийЭлемент(); Если глПользователь.Блокировка = 1 Тогда Предупреждение(" Ваш вход в систему заблокирован !!! |Обратитесь к администратору системы.",60); ЗапросПриЗавершенииРаботы=0; ЗавершитьРаботуСистемы(0); Возврат; КонецЕсли; Соответственно в справочнике Пользователей галка Блокировка |
|||
9
aka AMIGO
24.01.13
✎
13:18
|
(8) нормально.. это проще на порядок :)
и квалификация убойщика может быть понижена :) |
|||
10
Corvax46
24.01.13
✎
13:47
|
(8) +1 Спасибо!
|
|||
11
varelchik
24.01.13
✎
15:02
|
(8) А я сделал хитрее.
1. Создал Таблицу подключений. 2. В нее пишу инфу кто когда откуда с какого хоста время входа именя доменного пользователя. 3.Туда же пишу инфу о блокировке. Натравливаю ОбработкуОжидания на эту табличку и раз 10 сек сканирую. При входе проверяю блокировку Пользователя и без предупреждений в ПриНачалеРаботы ситемы выкидую и паралельно запускаю внешнее приложение о состоянии пользователя. |
|||
12
varelchik
24.01.13
✎
15:06
|
А на счет смены Пароля сделал пользователям Индивидуальные настройки.
Все работает через UsersDef.dll и не обязательно указывать старый. Вернее создаеш пользователя с пустым паролем хай себе ставить какой надо после входа. Если надо поменя а он не помнит, то допиливаешь сброс пароля от пользователя уже зашедшего. Главное шоб в конфигураторе ни кто не сидел. Это опять же можно проверить через FormEx, что я впринципе и делаю. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |