2015-10-14 5 views
-1

Я разработал веб-приложение, в котором мы можем войти в один раз и удалить свои данные. Проблема в том, что пользователь (X) обратился к веб-приложению через браузер и подписал его в свою учетную запись в сети (скажем, A), теперь, если мы откроем одно и то же веб-приложение в другой сети (скажем, B) он также говорит, что пользователь (X) подписал учетную запись Dropbox.Ресурсы, получаемые в разных сетях

То же самое происходит и между браузерами. Например, если пользователь (X) открыл приложение в google chrome и подписал его в учетной записи Dropbox, и когда пользователь открывает приложение в Mozilla, он говорит, что пользователь (X) выполнил вход.

Приложение разработано на Java с использованием Spring MVC framework, использует jsp-страницы для UI и jquery. Я запускаю это приложение на сервере Apache Tomcat.

Вопрос: Как создать ресурсы, не используемые между браузерами и сетями.

+0

Невозможно ответить на этот вопрос, не зная, как вы на самом деле реализовали аутентификацию. Там явно есть ошибка, скорее всего, фундаментальный недостаток дизайна. – kryger

+0

@kryger - есть apis, заданный dropbox для получения маркера доступа (вход в систему) и отключение маркера доступа (выключение). https://www.dropbox.com/developers-v1/core/docs#oa2-authorize – Nishanth

ответ

1

Нам нужно реализовать сеансы в проекте и сохранить accesstoken, данный Dropbox, как часть протокола Outh 2.0 в качестве переменной сеанса. Всякий раз, когда пользователь пытается запросить веб-приложение, этот конкретный сеанс загружается и использует значение accesstoken, присутствующее в этой переменной сеанса.

Таким образом, мы можем различать запросы.