Difference between revisions of "Python: Проверка пользователей"
Line 23: | Line 23: | ||
'locale_id' : [[Python:locale_id|locale_id]], | 'locale_id' : [[Python:locale_id|locale_id]], | ||
'reg_status' : [[Python:reg_status|reg_status]], | 'reg_status' : [[Python:reg_status|reg_status]], | ||
− | ' | + | 'regflags' : [[Python:regflags|regflags]], |
'login' : [[Python:login|login]], | 'login' : [[Python:login|login]], | ||
'name' : [[Python:name|name]] } | 'name' : [[Python:name|name]] } | ||
Line 44: | Line 44: | ||
'locale_id' : [[Python:locale_id|locale_id]], | 'locale_id' : [[Python:locale_id|locale_id]], | ||
'reg_status' : [[Python:reg_status|reg_status]], | 'reg_status' : [[Python:reg_status|reg_status]], | ||
− | ' | + | 'regflags' : [[Python:regflags|regflags]], |
'login' : [[Python:login|login]], | 'login' : [[Python:login|login]], | ||
'name' : [[Python:name|name]] } | 'name' : [[Python:name|name]] } | ||
Line 68: | Line 68: | ||
'priv_role' : [[Python:priv_role|priv_role]], | 'priv_role' : [[Python:priv_role|priv_role]], | ||
'reg_status' : [[Python:reg_status|reg_status]], | 'reg_status' : [[Python:reg_status|reg_status]], | ||
− | ' | + | 'regflags' : [[Python:regflags|regflags]], |
'login' : [[Python:login|login]], | 'login' : [[Python:login|login]], | ||
'name' : [[Python:name|name]] } | 'name' : [[Python:name|name]] } |
Revision as of 21:07, 8 December 2007
Навигация: Главная страница/Система ejudge/Расширение/Доступ к ejudge из программ на Питоне/Работа с базой пользователей/Проверка пользователей.
Запросы данной группы позволяют проверять возможность авторизации пользователей. Запросы полностью аналогичны запросам на авторизацию, но запросы на авторизацию должны выполняться для еще неавторизованного соединения. Запросы на проверку пользователей выполняются для авторизованного соединения и не приводят к изменению параметров авторизации соединения.
Для выполнения запросов на проверку пользователей само соединение должно быть авторизовано с уровнем привилегий ADMIN. Пользователь должен иметь биты полномочий LIST_USERS для указанного турнира или для всей базы пользователей.
Contents
privCheckUser
Для проверки регистрационных логина и пароля пользователя используется метод privCheckUser
res = clnt.privCheckUser(ip_str, ssl_flag, contest_id, locale_id, login, password)
Если операция завершилась с ошибкой выбрасывается исключение IOError. Если операция завершилась успешно, то res - это словарь следующего вида:
{ 'user_id' : user_id, 'sid' : sid, 'name' : name }
Возвращаемое имя пользователя name соответствует указанному турниру contest_id.
privCheckUserBySID
Для проверки регистрационного сессионного ключа используется метод privCheckUserBySID
res = clnt.privCheckUserBySID(ip_str, ssl_flag, sid)
Если операция завершилась с ошибкой выбрасывается исключение IOError. Если операция завершилась успешно, то res - это словарь следующего вида:
{ 'user_id' : user_id, 'contest_id' : contest_id, 'locale_id' : locale_id, 'reg_status' : reg_status, 'regflags' : regflags, 'login' : login, 'name' : name }
privCheckContestUser
Для проверки турнирных логина и пароля пользователя используется метод privCheckContestUser
res = clnt.privCheckContestUser(ip_str, ssl_flag, contest_id, locale_id, login, password)
Если операция завершилась с ошибкой выбрасывается исключение IOError. Если операция завершилась успешно, то res - это словарь следующего вида:
{ 'user_id' : user_id, 'sid' : sid, 'name' : name }
Возвращаемое имя пользователя name соответствует указанному турниру contest_id.
privCheckContestUserBySID
Для проверки регистрационного сессионного ключа используется метод privCheckContestUserBySID
res = clnt.privCheckContestUserBySID(ip_str, ssl_flag, sid)
Если операция завершилась с ошибкой выбрасывается исключение IOError. Если операция завершилась успешно, то res - это словарь следующего вида:
{ 'user_id' : user_id, 'contest_id' : contest_id, 'locale_id' : locale_id, 'reg_status' : reg_status, 'regflags' : regflags, 'login' : login, 'name' : name }
privCheckPrivUser
Для проверки привилегированных пользователей по логину и паролю используется метод privCheckPrivUser
res = clnt.privLogin(ip_str, ssl_flag, contest_id, locale_id, priv_role, login, password)
Если операция завершилась с ошибкой выбрасывается исключение IOError. Если операция завершилась успешно, то res - это словарь следующего вида:
{ 'user_id' : user_id, 'sid' : sid, 'name' : name }
Возвращаемое имя пользователя name соответствует указанному турниру contest_id. Возможность пользователя user_id войти с указанным уровнем привилегий, то есть наличие у него битов полномосий MASTER_LOGIN или JUDGE_LOGIN, не проверяется. Эти проверки должны быть выполнены на стороне клиента.
privCheckPrivUserBySID
Для проверки регистрационного сессионного ключа используется метод privCheckPrivUserBySID
res = clnt.privCheckPrivUserBySID(ip_str, ssl_flag, sid)
Если операция завершилась с ошибкой выбрасывается исключение IOError. Если операция завершилась успешно, то res - это словарь следующего вида:
{ 'user_id' : user_id, 'contest_id' : contest_id, 'locale_id' : locale_id, 'priv_level' : priv_level, 'priv_role' : priv_role, 'reg_status' : reg_status, 'regflags' : regflags, 'login' : login, 'name' : name }