powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как установить пароль пользователя ?
25 сообщений из 35, страница 1 из 2
Как установить пароль пользователя ?
    #38593100
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго дня !
Уважаемые мампсисты, как вы устанавливаете
пароли в Ваших приложениях для многопользовательской задачи ?
У нас например одна база для заработной платы, в которой участвуют
4 разных подразделений. Вроде пароли стоят, но иногда один пользователь
с одного подразделения, может попасть в другую.
Никак не могу выявлять как это происходит...
Все берется с учетом системной переменной $JOB.
Записываем при входе в глобаль саму пароль и $JOB
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
^PAROL("COL",1119)=1
^PAROL("COL",2843)=1
^PAROL("COL",2844)=1
^PAROL("MAX",1027)=1
^PAROL("MAX",1121)=1
^PAROL("MAX",2171)=1
^PAROL("MAX",2530)=1
....................


При обращение например к некой подпрограммы проверяем
пользователя на наличие пароля из этого глобаля.
Может есть более хороший способ, проверить пользователя ?
Спасибо.
...
Рейтинг: 0 / 0
Как установить пароль пользователя ?
    #38593129
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не очень понял, что вы делаете, но $JOB не уникальный будет в любом случае, особенно, если через веб работаете.

По идее после входа пользователя должна создаваться некая сессия (если это не веб - то аналог ее),
в самом сервере приписывается, что с такой сессией работает определенный пользователь, передаете приложению идентификатор сессии и при любом обращении к базе оно передает идентификатор сессии, по которому проверяется пользователь и разрешения для работы этого приложения.
...
Рейтинг: 0 / 0
Как установить пароль пользователя ?
    #38593141
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, мы работаем через сокет. MSM-Activate.
Клиент это настольное приложение на VB.
Почему $JOB не уникален ? Как бы это мы и взяли за основу.
...
Рейтинг: 0 / 0
Как установить пароль пользователя ?
    #38593160
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я чей job вы используете? Клиента или сервера?
Я тонкости сокетов не знаю, но в любом случае операционная система порождает идентификаторы процессов не уникальные.
А на сервере вообще на один процесс вешается много клиентов (может я глупость говорю, но почему-то в этом уверен).

А вообще идентификаторы процессы и 4х значные (что само по себе не так уж много), они еще как-то генерятся как-то так, что часто совпадают. Тоже не помню, откуда это у меня в памяти, но где-то я напарывался на то, что хранить данные по job-у плохо.
...
Рейтинг: 0 / 0
Как установить пароль пользователя ?
    #38593393
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Однозначно JOB клиента, который конектится к серверу
и М процесс присваивает ему номер.
...
Рейтинг: 0 / 0
Как установить пароль пользователя ?
    #38593624
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valeriu , джоб для таких дел лучше не использовать... Есть понятие "принципиального устройства" (ПУ) $p.
Сколько бы процессов не запустили с ПУ, $j у них будет разный, а вот $p один.
...
Рейтинг: 0 / 0
Как установить пароль пользователя ?
    #38593626
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValeriuВроде пароли стоят, но иногда один пользователь
с одного подразделения, может попасть в другую.
Просто значения $j повторились...

Если провести тест "зашел-вышел, зашел-вышел, ..." - можно заметить, что $j будет все время разный...
И все эти значения ты записываешь в тот глобал...
...
Рейтинг: 0 / 0
Как установить пароль пользователя ?
    #38593628
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блок А.Н.в любом случае операционная система порождает идентификаторы процессов не уникальные
Не совсем так...
Для каждого процесса система генерит уникальный номер $j... Но никто ей не запрещает предоставлять новому процессу значение уже не существующего джоба...
Т.о. всегда будет некий временной интервал, в пределах которого, значение $j будет не уникально. Но в любой момент времени все (!) рабочие джобы будут иметь уникальные значения.
Надеюсь, что понятно объяснил.
...
Рейтинг: 0 / 0
Как установить пароль пользователя ?
    #38593629
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaЕсли провести тест "зашел-вышел, зашел-вышел, ..." - можно заметить, что $j будет все время разный...
Точнее не всегда, а запросто может быть разный. Но значение $j может и повторяться...
...
Рейтинг: 0 / 0
Как установить пароль пользователя ?
    #38593712
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,

Естественно, я имел ввиду, что на большом промежутке времени они не уникальные.
...
Рейтинг: 0 / 0
Как установить пароль пользователя ?
    #38593955
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,
Значит можно использовать
$PIECE($PRINCIPAL,"|",4) вместо $job
Завтра и попробую на работе.

Спасибо.
...
Рейтинг: 0 / 0
Как установить пароль пользователя ?
    #38594001
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValeriuЗначит можно использовать
Код: javascript
1.
$PIECE($PRINCIPAL,"|",4)

вместо $job
Однозначно нужно использовать $p вместо $j... В противном случае любой запуск
Код: javascript
1.
j prc^prg


даст тебе новое значение $j...

Для теста

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
START
   i $i(^tmp($p))
   i $i(^tmp($p,$j))
   j prc^prg
   j prc^prg
   j prc^prg
   h 1
   w !,^tmp($p)
   s uz=""
   f  s uz=$o(^tmp($p,uz)) q:uz=""  w ^tmp($p,uz)
   q
prc
   i $i(^tmp($p))
   i $i(^tmp($p,$j))
   q



Но вот эта конструкция
Код: javascript
1.
$PIECE($PRINCIPAL,"|",4)


не дает 100%-ную "привязку" к рабочему месту...
Там так же есть варианты... Имя компа, ИП адрес, имя пользователя+домен... Т.е. ИС говорит, что это все определяется ОС на которой установлен Кащей...
Они де вообще ни при чем. Как определилось - так и определилось...
...
Рейтинг: 0 / 0
Как установить пароль пользователя ?
    #38594014
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,
Спасибо, тоже заметил, что есть и другие параметры.
Постараюсь привязаться и к ним.
...
Рейтинг: 0 / 0
Как установить пароль пользователя ?
    #38594031
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValeriuПостараюсь привязаться и к ним.
Лучше оставь это... Т.к. это бесполезное занятие.

По-мне так лучше сделать "привязку" по логину, а пароль вообще в этом деле не использовать...
...
Рейтинг: 0 / 0
Как установить пароль пользователя ?
    #38594263
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,
К сожалению $PIECE($PRINCIPAL,"|",4)
это тот же $JOB ... Это меня не спасет.
...
Рейтинг: 0 / 0
Как установить пароль пользователя ?
    #38594316
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValeriuЭто меня не спасет.
Так я тебе и писал ранее...
krvsaЛучше оставь это... Т.к. это бесполезное занятие.
...
Рейтинг: 0 / 0
Как установить пароль пользователя ?
    #38594342
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valeriu , у нас в старом варианте использовалось вот это

Код: javascript
1.
w $S($P($P($P,":"),"|",3)'="":$P($P($P,":"),"|",3),1:$P($P,":"))


Но и такое не дает 100%-ной "привязки" к рабочему месту...
...
Рейтинг: 0 / 0
Как установить пароль пользователя ?
    #38594360
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно как-то получить список всех процессов,
которые выполняются на данный момент
в определенной области ?
...
Рейтинг: 0 / 0
Как установить пароль пользователя ?
    #38594369
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValeriuА можно как-то получить список всех процессов,
которые выполняются на данный момент
в определенной области ?
запрос в системной области
select * from sys.Process where namespace='%sys'
...
Рейтинг: 0 / 0
Как установить пароль пользователя ?
    #38594443
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMor,
Неудобно, я бы проверил все задействованные
процессы в ту область куда зашел пользователь..
А на чистом COS-е это можно вызвать ?
...
Рейтинг: 0 / 0
Как установить пароль пользователя ?
    #38594452
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя бы как-то так:
Код: sql
1.
ps aux | grep mumps
...
Рейтинг: 0 / 0
Как установить пароль пользователя ?
    #38594783
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValeriuDAiMor,
Неудобно, я бы проверил все задействованные
процессы в ту область куда зашел пользователь..
А на чистом COS-е это можно вызвать ?

Вот COS
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
	s curns=$zu(5)
	try {
		zn "%sys"
	 	s tSt=##class(%SQL.Statement).%New()
	 	s tSc=tSt.%Prepare("select ID,namespace,username,routine from SYS.Process where namespace=?")
	 	s tRs=tSt.%Execute("letograf")
	 	d tRs.%Display()
	} catch {}
	zn curns
...
Рейтинг: 0 / 0
Как установить пароль пользователя ?
    #38594799
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMor , такие запросы

Код: javascript
1.
s o=##class(%ResultSet.SQL).%Prepare(sql,.err,"",regUrn)


уже не в чести?
...
Рейтинг: 0 / 0
Как установить пароль пользователя ?
    #38594810
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa DAiMor , такие запросы

Код: javascript
1.
s o=##class(%ResultSet.SQL).%Prepare(sql,.err,"",regUrn)



уже не в чести?
http://docs.intersystems.com/cache20131/csp/docbook/DocBook.UI.Page.cls?KEY=GSQL_dynsqlold
The %SQL.Statement class is the preferred way to perform Dynamic SQL. Dynamic SQL using this class is described in the previous chapter Using Dynamic SQL.
...
Рейтинг: 0 / 0
Как установить пароль пользователя ?
    #38594814
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не успеваешь за всем этим...
...
Рейтинг: 0 / 0
25 сообщений из 35, страница 1 из 2
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Как установить пароль пользователя ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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