Лучший способ безопасно передать сеанс в другой браузер - PullRequest
2 голосов
/ 11 ноября 2011

Я знаю, что это не будет безопасным.Но я хотел бы, по крайней мере, предпринять какую-то попытку сделать то, что мне нужно, минимально.

У нас есть пользовательский клиент, созданный с использованием элемента управления браузера IE.Я не могу изменить это, и это не в рамках этого вопроса, чтобы изменить это.Проблема заключается в том, что если пользователь выполняет действие в этом приложении, которое открывает окно, оно открывает окно в IE, а не в клиентском приложении.

У нас есть некоторые функции экспорта в CSV и печати, которые открывают новое окно.Информация, которую они печатают или экспортируют, зависит от контроля доступа.Таким образом, когда окно открывается в IE, они не входят в IE;поэтому нет контроля доступа.Мне нужно иметь возможность передать сеанс в IE, чтобы пользователь вошел в систему и распечатал или экспортировал соответствующую информацию в csv.

Не обязательно нужна безопасность Fort Knox.Это не для публичного веб-сайта и не защищенных данных.Но есть ли способ сделать это без полного игнорирования всей безопасности?

1 Ответ

3 голосов
/ 11 ноября 2011

Создайте токен и сохраните его в своей базе данных с отношением к текущему пользователю, прежде чем открыть окно. Дайте токену 60-секундное время истечения (при необходимости измените) и добавьте его в конец URL всплывающего окна. При обращении к этому URL прочитайте токен и его связь с пользователем. Оттуда вы сможете получить доступ к элементам управления ACL.

Вы не будете переносить сеанс, но вы будете знать, какой пользователь запрашивает всплывающее окно. Надеюсь, это поможет ...

ВНИМАНИЕ: Это не очень безопасно, так как токен будет уязвим для человека в середине атаки. Добавление функции истечения срока действия является попыткой ограничить эту возможность. Этот метод можно считать безопасностью по неизвестности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...