Сессия PHP не регистрируется при открытии страницы из документа Word - PullRequest
2 голосов
/ 13 октября 2011

Я поставлен в тупик на этом. У меня есть страница только для членов, которая, когда пользователь не вошел в систему, заставит пользователя войти (перенаправить на страницу входа). Целевой URL ($ _SERVER ['REQUEST_URI']) сохраняется в сеансе, и когда пользователь успешно входит в систему, он / она направляется на эту целевую страницу. Это прекрасно работает и прекрасно в браузере.

Однако, когда у меня есть ссылка в документе Word на страницу только для членов и я щелкаю ее, чтобы открыть ее в браузере, переменная сеанса не регистрируется. Я где-то пропускаю настройку, которая может вызвать такую ​​проблему?

Здесь указан код аутентификации.

<?php
    session_start();

    if((!isset($_SESSION['uid']))||($_SESSION['uid']=='')){ 
        $_SESSION['targetURL']=$_SERVER['REQUEST_URI'];
        header( 'Location: /login.php' ) ;  
        exit();
    }
?>

Опять же, это прекрасно работает при навигации в браузере или при вводе URL-адреса непосредственно в адресной строке ... Но любые ссылки из Word не позволяют регистрировать сеанс.

1 Ответ

3 голосов
/ 29 ноября 2012

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

Это происходит потому, что сеанс Office не зависит от сеанса веб-браузера, в котором вы, возможно, уже предоставили учетные данные пользователя.

и

Если система единого входа полагается исключительно на информацию о cookie-файлах сеанса, может показаться, что система единого входа не работает, поскольку один и тот же пользователь перемещается из нескольких сеансов.

В последующем сообщении говорится, что это сделано специально и является ограничением системы единого входа, а не ограничением Microsoft Word. В нижней части статьи приведен ряд решений для «исправления» вашей системы, хотя в статье признается, что они добавляют значительную сложность. Если вам действительно нужны ссылки для работы с документом Word, вам придется реализовать одно из предложенных решений.

http://support.microsoft.com/kb/899927

Однако, в качестве быстрого обходного пути, если вам не нужно использовать документ Word, вы можете преобразовать документ в PDF, который не страдает от той же проблемы.

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