Поиск

Простейший веб-сервис с авторизацией


Таки добил базис для различных веб-морд и выложил на гитхаб.
Для обслуживания веб-запросов используется libonion, а т.к. в ней не было вменяемой поддержки авторизации, добавил свое. В одной базе данных хранятся сведения о пользователях: имя пользователя, уровень доступа, SHA512-хэш пароля и необязательный комментарий. Вторая база содержит сессионные данные: имя пользователя, время получения ключа (UNIX-TIME), идентификатор сессии, необязательный идентификатор сокета (этот идентификатор выдается в «небезопасной» куки, поэтому генерируется заново при каждом очередном запросе; затем, когда юзер захочет открыть вебсокет, он должен будет сначала передать этот ключ) и данные (в JSON-формате, сейчас это — User-Agent и IP адрес пользователя).
Веб-админку мне было лень делать, да и не нужна она в моем случае: достаточно запустить демон с нужными параметрами, чтобы добавить/удалить/изменить пользователя, сделать дамп баз или запустить «vacuum» баз. Также можно удалить все сессионные данные старше заданного времени.
Остается еще добавить работу с вебсокетами, и можно будет лепить морду для спектрографа НЭС и «роботелескопа». eddy_em.livejournal.com

Добавить комментарий