14.05.2008, 17:03 | #1 |
Участник
|
Ограничение количества одновременных подключений под одним логином
На axforum вроде уже подымалась тема subj. Поиск не дал результатов. Может кто нить поделится проектиком по данному вопросу. Спасибо!
|
|
14.05.2008, 17:17 | #2 |
Участник
|
Примерно так:
X++: for ( counter = 1; counter <= xSession::maxSessionId(); counter++ ) { session = new xSession( counter, true ); if ( session ) { if ( session.sessionId() != sessionid() && this.excludeUser() ) { if ( curuserid() == session.userId() ) { warning = strfmt( "Пользователь %1 уже зарегистрирован в системе!!!", session.userId() ); Box::warning( warning, "Проблемы с регистрацией" ); InfoLog.shutDown( true ); } } } } |
|
|
За это сообщение автора поблагодарили: aidsua (1). |
15.05.2008, 15:15 | #3 |
Участник
|
спасибо попробую
|
|
15.05.2008, 17:23 | #4 |
Участник
|
Вот немного подправил, чтобы можно было указать кол-во подключений для логина
X++: xSession session = new xSession(); int i; int counter; SysUserInfo userInfo; ; userInfo = SysUserInfo::find(curUserId()); for (i = 1; i <= xSession::maxSessionId(); i++) { session = new xSession(i, true); if (session && session.userId() == curUserId()) { counter++; } } if ((userInfo.CountSessionFromOneLogin != 0) && (userInfo.CountSessionFromOneLogin < counter)) checkFailed(strfmt('%1', counter)); |
|
16.05.2008, 10:55 | #5 |
Участник
|
Цитата:
i <= xSession::maxSessionId()
Я проверяю в цикле до Info::licensedUsersTotal() + 1. А что, в 4-ке появился параметр Код: userInfo.CountSessionFromOneLogin |
|
16.05.2008, 11:15 | #6 |
AX*****
|
В DAX 4.0 SP1 EE нет этого поля.. вероятно оно добавлено polygris
__________________
О, как беден, как груб наш русский язык! [c] А.С.Пушкин |
|
16.05.2008, 13:13 | #7 |
Участник
|
если на Box нажать ctrl+break Ваш shutdown не отработает
|
|
16.05.2008, 13:21 | #8 |
Участник
|
Изобретать телескоп пока никто не разрешал http://bayanov.net/text-komp/genesis.php
|
|