Имя: Пароль:
IT
Веб-мастеринг
Подкиньте идей - авторизация в Wordpress, логин и пароль хранятся в 1С
,
0 Котокот
 
18.08.15
21:21
Суть: есть сайт на Wordpress, есть 1С, к которой иногда ломимся через http-сервис. На сайте должны быть поля "Логин" и "Пароль", при заполнении которых и нажатии "ОК" должен вызываться http-сервис 1С, логин и пароль должны сравниваться с соответствующими логином и паролем в справочнике и если они совпадают, то считаем, что пользователь авторизовался. В этом случае ему вместо формы для ввода логина и пароля из 1С возвращается некая информация, например, актуальный отчет по взаиморасчетам. Если же авторизация не прошла, то возвращаем не отчет, а опять таки форму с полями "Логин-Пароль".

Как планирую реализовать. При первом заходе пользователя на сайт должен генериться некий уникальный номер сеанса. При попытке авторизации этот номер с логином и паролем передается в 1С и если логин-пароль верны, то этот номер сеанса записывается, например, в регистр сведений как текущий номер сеанса для данного пользователя. При заходе на другую страницу под этим же сеансом в 1С достаточно уже передавать только номер сеанса, она видит, что этот номер совпадает с тем, что хранится в регистре сведений и не просит заново логин и пароль.
Когда пользователь деавторизуется, запись в РС очищается и при последующей передаче 1Ске только номера сеанса она не находит этот номер в РС и возвращает пользователю поля для ввода логина и пароля.

Покритикуйте схему. И заодно расскажите, какие штатные средства есть в php для работы с такими уникальными номерами сеансов.
1 Славен
 
18.08.15
21:26
Без 1с авторизацию никак? Родные механизмы лучше использовать для этого
2 Котокот
 
18.08.15
21:47
(1) Разум подсказывает, что авторизация в WP была бы лучшим вариантом, но, к сожалению, в данном конкретном случае этот вариант нам не подходит.
3 Котокот
 
19.08.15
07:17
Я что, опять самые сложные и неинтересные задачи решаю? Хэ-хэй коллективный разум, иди помогать мне!
4 Лодырь
 
19.08.15
07:41
(0) код сеанса должен протухать.
5 Котокот
 
19.08.15
08:14
(4) "Должен" в каком смысле? Сам по себе независимо от моего желания, браузер его почему-то теряет и в любой момент юзер будет вынужден логиниться заново?
Или это моя задача время от времени его сбрасывать в 1С? Если моя, то в РС будет дата последнего посещения любой из страниц и если она будет отличаться от текущей даты более чем на 20 минут (например), то сеанс считается протухшим и требуется новый логин.
6 Лодырь
 
19.08.15
08:16
(5) Примерно об этом я и хотел сказать.
7 Котокот
 
19.08.15
08:20
(6) Спс. А номер сеанса как лучше организовать? Через сессии (session_start), как тут? http://www.softtime.ru/bookphp/gl8_1.php
Или есть способы проще и лучше?
8 Славен
 
19.08.15
10:17
(5) неверно, надо смотреть активность текущего сеанса... а не время посещения, может он 20 мин у тебя на страничке что то заполняет, а ты раз и сбросил
9 Котокот
 
19.08.15
10:34
(8) Логично. Так а какие методы для работы с сеансами есть в php?
10 Славен
 
19.08.15
12:41
11 Котокот
 
19.08.15
12:45
(10) Пасиба, полезная вещь.
12 Гёдза
 
19.08.15
12:46
какой то велосипед в стиле "доминиканы"
13 Славен
 
19.08.15
12:59
Честно, в 1с это нафиг не нужно, проще в таблице хранить связь логина на сайте с юзером в 1с, отсюда и плясать, с правами и отчетами
14 Котокот
 
19.08.15
13:25
(12) Спокойно, все под контролем!
15 Котокот
 
19.08.15
13:25
(13) В таблице, которая где находится, в Wordpress?
16 Котокот
 
19.08.15
13:27
+(13) У нас отчеты 1С будет формировать, а ВП только отображать их в нужном месте. Поэтому и думаю, что проще в 1С кидать логин юзера, в 1Ске уже получать нужный элемент пользователя в справочнике и для этого элемента формировать отчет.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший