В любом случае, требовать входа в GAE через web.xml на более позднем этапе? - PullRequest
1 голос
/ 26 августа 2011

Платформа: GAE + Java + GWT (плагин на Eclipse)

Требование: пользователи должны иметь возможность использовать приложение для покупок, чтобы добавить содержимое в свою корзину, но их нужно попросить войти только во время оформления заказа.

Может ли один и тот же модуль быть доступен из двух таких URL:

  • myapp.appspot.com / (и myapp.appspot.com/myapp.html), не требующие входа
  • myapp.appspot.com / protected / checkout.html, требующий входа через web.xml

Есть ли другой способ добиться этого через web.xml.

Не хочу проверять это на сервере, перенаправляя на страницу входа из кода Java. Может ли это быть сделано исключительно через ограничения безопасности web.xml?

Невозможно разделить на несколько модулей, поскольку базовые покупки (предварительная проверка) должны быть возможны как для вошедших в систему, так и для не прошедших проверку подлинности пользователей (из одного приложения + модуль).

Новый Действия и места API, похоже, приблизился, но не помог с ограничением на основе web.xml.

Ответы [ 2 ]

0 голосов
/ 26 августа 2011

Вы можете использовать в определении ограничения безопасности в web.xml, чтобы ограничить определенные пути

<security-constraint>
        <web-resource-collection>
            <url-pattern>/protected/*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>*</role-name>
        </auth-constraint>
</security-constraint>

GAE подробно об этом говорит:

https://code.google.com/appengine/docs/java/config/webxml.html#Security_and_Authentication

0 голосов
/ 26 августа 2011

Вы можете просто использовать фильтр сервлета, сопоставленный с шаблоном URL /protected/*.Этот фильтр проверяет, прошел ли пользователь аутентификацию, и перенаправляет на страницу входа, если нет.Вы должны будете сделать это вручную, но это будет сделано в одном уникальном месте, не затрагивая остальную часть кода.

См. http://www.oracle.com/technetwork/java/filters-137243.html для получения дополнительной информации о фильтрах сервлетов.1007 * Ограничения безопасности, AFAIK, не могут использоваться в GAE для аутентификации.

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