BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 18 июн 2025, 19:56

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 37 ]  На страницу 1, 2  След.
Автор Сообщение
СообщениеДобавлено: 27 дек 2011, 14:08 
Не в сети
Клиент

Зарегистрирован: 30 мар 2009, 17:51
Сообщения: 431
Карма: 23
Добрый день.
Настроен вход в личный кабинет по параметру текстового поля (используется модуль ipn, в параметре хранится типа логин).

Диспозиция: договор закрыт (дата закрытия в прошлом уже), создан новый договор, у него логин такой же как и у старого договора.
Проблема: попытки авторизации идут к старому договору! Но как так? Его же уже нет для системы, он закрыт.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 дек 2011, 14:32 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4494
Откуда: Уфа, Россия
Карма: 187
для системы договора нет это когда он удален, а не когда закрыт.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 дек 2011, 15:00 
Не в сети
Клиент

Зарегистрирован: 30 мар 2009, 17:51
Сообщения: 431
Карма: 23
skn писал(а):
для системы договора нет это когда он удален, а не когда закрыт.

но лицензии на модули ведь не учитываются когда закрыт период действия договора

вобщем как бы уйти от необходимости смены логина на какой-то фиктивный? я согласен на то что будет заходить в первый договор если пересекаются логина у активных договоров, но если договор закрыт - то уже некрасиво, а ведь так хотелось =) можно ли добавить в проверку авторизации еще и проверку на закрытость договора, и не давать авторизоваться договорам с датой закрытия прошлым.
select * from contract_parameter_type_1 where pid={WEB_AUTH_PID} and val={VAL} and cid in {select id from contract where date2 is null or date2<={TODAY}} типа как нибудь так... ну или вам там виднее как оно нужно, но можно ведь все-таки сделать чтобы проверка на закрытость договора была, это логично.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 дек 2011, 17:05 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4494
Откуда: Уфа, Россия
Карма: 187
а повторы логинов Вы как проверяте?, тоже с учетом закрытости договора?, а если договор закрыли, а потом передумали и решили открыть... будет два договора с одинаковым логином?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 дек 2011, 21:42 
Не в сети
Клиент

Зарегистрирован: 23 сен 2010, 10:37
Сообщения: 208
Откуда: Снежинск
Карма: 0
удалите договор в архив - закрытый договор не значит "не существующий"


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 27 дек 2011, 22:16 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Kostiksnz писал(а):
удалите договор в архив - закрытый договор не значит "не существующий"

Ога а потом с бухгалтерией разбираться когда им вдруг вздумается что проверить. Пройденый этап

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 дек 2011, 00:13 
Не в сети
Клиент

Зарегистрирован: 23 сен 2010, 10:37
Сообщения: 208
Откуда: Снежинск
Карма: 0
Phricker писал(а):
Kostiksnz писал(а):
удалите договор в архив - закрытый договор не значит "не существующий"

Ога а потом с бухгалтерией разбираться когда им вдруг вздумается что проверить. Пройденый этап


а в чем необходимость новому договору давать такой же логин?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 дек 2011, 00:41 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Kostiksnz писал(а):
а в чем необходимость новому договору давать такой же логин?

За это я уже не говорю, т.к. сам не пробовал
Мейби переоформляли договор. Но я не знаю будет ли работать в том случае если все сущности закрыты ибо, как я уже говорил, сам не пробовал

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 дек 2011, 07:53 
Не в сети
Клиент

Зарегистрирован: 30 мар 2009, 17:51
Сообщения: 431
Карма: 23
Kostiksnz писал(а):
Phricker писал(а):
Kostiksnz писал(а):
удалите договор в архив - закрытый договор не значит "не существующий"

Ога а потом с бухгалтерией разбираться когда им вдруг вздумается что проверить. Пройденый этап


а в чем необходимость новому договору давать такой же логин?

Ну вот есть такая необходимость, приказ.
Цитата:
а повторы логинов Вы как проверяте?, тоже с учетом закрытости договора?, а если договор закрыли, а потом передумали и решили открыть... будет два договора с одинаковым логином?

Событие перед изменением параметра договора обрабатываю и делаю селект примерно как выше писал (ток писал на память).
В основном проблема при переоформлении договоров возникает. На логине завязан почтовый ящик и домен третьего уровня в том числе. И чтобы клиенту все подряд у себя не менять - логин делают таким же.
А открытие закрытого договора это уже ситуация выходящая за обычную рутину, тут уже не только с логинами проблема. И как я уже говорил - я в принципе согласен если при существовании открытых договоров с одинаковыми логинами будет заходить в первый из них, но хочу чтобы в закрытый не попадал клиент.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 дек 2011, 08:12 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
Поддерживаю идею о проверки закрытости договора и входа в личный кабинет, ибо если он закрыт, а вход возможен, то абонент для себя не поймет что с ним договор уже расторгли и пойдет платить, был вот недавно такой случай

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 12 янв 2012, 10:06 
Не в сети
Клиент

Зарегистрирован: 30 мар 2009, 17:51
Сообщения: 431
Карма: 23
skyb писал(а):
Поддерживаю идею о проверки закрытости договора и входа в личный кабинет, ибо если он закрыт, а вход возможен, то абонент для себя не поймет что с ним договор уже расторгли и пойдет платить, был вот недавно такой случай

апнем тему


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 12 янв 2012, 11:59 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4494
Откуда: Уфа, Россия
Карма: 187
а разве платежи на закрытые договора заносятся?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 12 янв 2012, 12:10 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Заносятся через терминалы. У меня по крайней мере спокойно.
Точнее скажем даже так. Заносят по логину который не закрыт. Но закрыт договор (скрипт тупо меняет дату закрытия в таблице contract.date1. Так проще когда клиент оплачивает чтобы открыть все сущности. Скрипты и тарифы и логины пр. и пр. не открываются заново если через клиент биллинга сначала закрыть договор а потом открыть.)

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 12 янв 2012, 12:37 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4494
Откуда: Уфа, Россия
Карма: 187
Phricker писал(а):
Заносятся через терминалы. У меня по крайней мере спокойно.
Точнее скажем даже так. Заносят по логину который не закрыт. Но закрыт договор (скрипт тупо меняет дату закрытия в таблице contract.date1. Так проще когда клиент оплачивает чтобы открыть все сущности. Скрипты и тарифы и логины пр. и пр. не открываются заново если через клиент биллинга сначала закрыть договор а потом открыть.)


ну вы затейник... (не понятно что мешает человеку не заходя в личный кабинет пойти в терминал и оплатить, если логин открыт)

P.S. Постараемся в ближайшее время добавить возможность использовать для авторизации пользовательский скрипт, в котором можете проверять все, что захотите и авторизировать по любым данным.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 12 янв 2012, 13:10 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
skn писал(а):
P.S. Постараемся в ближайшее время добавить возможность использовать для авторизации пользовательский скрипт, в котором можете проверять все, что захотите и авторизировать по любым данным.

Тоесть если договор закрыт, то и в ЛК пускать не будет?

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 12 янв 2012, 14:45 
Не в сети
Клиент

Зарегистрирован: 30 мар 2009, 17:51
Сообщения: 431
Карма: 23
а не проще пока просто сделать доп условие в запрос который авторизует?:)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 12 янв 2012, 16:38 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4494
Откуда: Уфа, Россия
Карма: 187
Феанор писал(а):
а не проще пока просто сделать доп условие в запрос который авторизует?:)


не проще, так как есть например переоформление договоров, когда пользователю разрешается заходить в закрытые договора.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 12 янв 2012, 16:39 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4494
Откуда: Уфа, Россия
Карма: 187
skyb писал(а):
skn писал(а):
P.S. Постараемся в ближайшее время добавить возможность использовать для авторизации пользовательский скрипт, в котором можете проверять все, что захотите и авторизировать по любым данным.

Тоесть если договор закрыт, то и в ЛК пускать не будет?


если в скрипте будете проверять период договора и запрещать вход, то не будет


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 янв 2012, 05:27 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
skn писал(а):
skyb писал(а):
skn писал(а):
P.S. Постараемся в ближайшее время добавить возможность использовать для авторизации пользовательский скрипт, в котором можете проверять все, что захотите и авторизировать по любым данным.

Тоесть если договор закрыт, то и в ЛК пускать не будет?


если в срипте будете проверять период договора и запрещать вход, то не будет

када уже?

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 янв 2012, 08:26 
Не в сети
Клиент

Зарегистрирован: 30 мар 2009, 17:51
Сообщения: 431
Карма: 23
skn писал(а):
skyb писал(а):
skn писал(а):
P.S. Постараемся в ближайшее время добавить возможность использовать для авторизации пользовательский скрипт, в котором можете проверять все, что захотите и авторизировать по любым данным.

Тоесть если договор закрыт, то и в ЛК пускать не будет?


если в срипте будете проверять период договора и запрещать вход, то не будет

А куда этот скрипт будет вешаться? какая логика вообще? вот допустим 2 договора с одинаковым логином, один закрытый, другой нет. Не будет ли так что клиент пытается зайти в ЛК, генерируется событие для первого найденого договора, отдается ошибка в скрипте (он закрыт) - и все, клиенту пошла ошибка. Или скрипт какой то будет глобальный, который будет в функцию проверки передавать массив айдишников договоров, которые подходяд под входные данные и возвращать надо будет айди договора который подходит по нашим алгоритмам?:)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 13 янв 2012, 14:58 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4494
Откуда: Уфа, Россия
Карма: 187
Феанор писал(а):
А куда этот скрипт будет вешаться? какая логика вообще? вот допустим 2 договора с одинаковым логином, один закрытый, другой нет. Не будет ли так что клиент пытается зайти в ЛК, генерируется событие для первого найденого договора, отдается ошибка в скрипте (он закрыт) - и все, клиенту пошла ошибка. Или скрипт какой то будет глобальный, который будет в функцию проверки передавать массив айдишников договоров, которые подходяд под входные данные и возвращать надо будет айди договора который подходит по нашим алгоритмам?:)


в конфиге задаете скрипт авторизации (класс)
в него передется введенные пользователем логин и пароль, скрипт должен вернуть код договора, а где и как скрипт будет искать номер договора решать вам.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 фев 2012, 08:13 
Не в сети
Клиент

Зарегистрирован: 30 мар 2009, 17:51
Сообщения: 431
Карма: 23
ну что? есть подвижки?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 фев 2012, 11:21 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Угу. А так же интересно, что это
Цитата:
ДОБАВЛЕНО Разграничение доступа в личные кабинеты пользователей по значению флага web.sub.contract.auth.mode

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 фев 2012, 15:28 
Не в сети
Клиент

Зарегистрирован: 30 мар 2009, 17:51
Сообщения: 431
Карма: 23
Phricker писал(а):
Угу. А так же интересно, что это
Цитата:
ДОБАВЛЕНО Разграничение доступа в личные кабинеты пользователей по значению флага web.sub.contract.auth.mode

Я так понимаю для субдоговоров плюшечки, чтобы субдоговора как то могли авторизовываться. Хотя кто ж его знает =)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 фев 2012, 15:49 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 29 мар 2010, 23:11
Сообщения: 5854
Карма: 472
Так субдоговора и так могли авторизовываться

_________________
Цитаты великих людей :umnik:
Напишите в helpdesk © stark
повторяю: => хелпдеск => доработка => профит © dimOn
свершилось... © skn
Мой код изящен, лёгок, оригинален, краток. Как прохладный весенний ветерок, как звонкий ручей! © dimOn
Вежливый разработчик © Artur
Эти баги тоже исправлены, как и те, которые еще не написаны © Artur
ну т.е. существует воркэраунд, ок © dimOn


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 28 фев 2012, 18:11 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4494
Откуда: Уфа, Россия
Карма: 187
в 5.2 добавлен параметр
Код:
web.auth.class=<класс_обработчик>

при наличие данного параметра, вместо встроенного "ядерного" обработчика будет использоваться указанный обработчик
указанный класс должен реализовывать интерфейс - bitel.billing.server.ModuleAuth
ниже для примера приведен код встроенного обработчика
Код:
package bitel.billing.server.contract;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

import ru.bitel.bgbilling.server.util.Setup;

import bitel.billing.server.ModuleUser;
import bitel.billing.server.contract.bean.ContractParameterManager;

public class ModuleAuth
    implements bitel.billing.server.ModuleAuth
{
    @Override
   public ModuleUser findModuleUserByLogin( String login,
                                             int moduleId,
                                             int authMode,
                                             Connection con )
    {
        ModuleUser moduleUser = null;
       
        if ( login != null && login.trim().length() > 0 && moduleId > -1 )
        {
           try
            {
              String query = null;
              if ( authMode == 1 )
              {
                 query = "SELECT id, pswd FROM contract WHERE title=? LIMIT 1";                 
              }
              else if ( authMode == 2 )
              {
                 Integer pid = Setup.getSetup().getInt(  "web.auth.contract.text.parameter", 0 );
                 if ( pid > 0 )
                 {                 
                    query = "SELECT id, pswd FROM contract " +
                       " LEFT JOIN " + ContractParameterManager.CONTRACT_PARAMETER_TYPE_STRING + " as param " +
                       " ON param.cid = contract.id " +
                       " AND param.pid = " + pid +
                       " WHERE param.val=? LIMIT 1 ";                               
                 }
              }
              
              if (query != null )
              {
                   ResultSet rs = null;
                   PreparedStatement ps = null;
                  
                   ps = con.prepareStatement( query );
                   ps.setString( 1, login );
                   rs = ps.executeQuery();
                   while ( rs.next() )
                   {
                       moduleUser = new ModuleUser();
                       moduleUser.setLogin( login );
                       moduleUser.setPassword( rs.getString( 2 ) );
                       moduleUser.setContractId( rs.getInt( 1 ) );
                       moduleUser.setContractTitle( login );
                   }
                   rs.close();
                   ps.close();
                }
                   
            }
            catch( Exception e )
            {
                e.printStackTrace();
            }
        }
        return moduleUser;
    }
}


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 29 фев 2012, 08:42 
Не в сети
Клиент

Зарегистрирован: 30 мар 2009, 17:51
Сообщения: 431
Карма: 23
skn писал(а):
в 5.2 добавлен параметр
Код:
web.auth.class=<класс_обработчик>


Спасибо. А 5.1? =)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 29 фев 2012, 08:49 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Круто!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 мар 2012, 07:54 
Не в сети
Клиент

Зарегистрирован: 30 мар 2009, 17:51
Сообщения: 431
Карма: 23
о, смотрю в ченджлогах и в 5.1 появилось


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 06 мар 2012, 10:05 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
а может поделитесь своими наработками как запретить входить? =)

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 37 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.114s | 77 Queries | GZIP : On ]