java - 将凭据从 PHP Web 应用程序发送到 Java Web 应用程序

标签 java php http vaadin

我有一个 web PHP web 应用程序,它有一个指向 java web 应用程序的链接。 php 应用程序有一个登录页面和一个指向 java 应用程序的链接,但并不是每个用户都有访问 java web 应用程序的权限。我试图做的是将用户凭据从 php 应用程序发送到 java 应用程序,然后 java 应用程序检查凭据以及是否正确登录用户。我正在考虑使用 http header 来执行此操作。

所以我的问题是如何将用户凭据从 PHP 应用程序发送到 Java 应用程序?

如果有帮助,我正在使用名为 Vaadin 的 Java 网络框架。

最佳答案

执行从 PHP 应用程序到 java 应用程序的正常 POST 请求。这可以像在 PHP 应用程序中有一个普通的 HTML 表单一样简单地完成,将表单的方法设置为“POST”并将操作设置为 java 应用程序的 URL。如果您想在 Vaadin 应用程序中捕获 HTTP 参数,可以使用请求处理程序 (https://vaadin.com/book/vaadin7/-/page/advanced.requesthandler.html)。

然后是一些建议或至少要考虑的事情。如果您的登录页面在 PHP 应用程序中,而您的“管理”应用程序是 Vaadin 应用程序,那么我不鼓励您在 Vaadin 应用程序 中进行凭据检查。这是因为当您进入 Vaadin 应用程序时,会创建一个新的应用程序实例。这意味着您的 UI 以及您在 UI 的 init 方法中执行的任何其他操作都将被初始化。您可能想要做的是阻止用户进入 Vaadin 应用程序,除非她已登录 - 这意味着您需要在其他地方进行凭证检查 - 例如,有一个单独的 servlet,其唯一职责是登录用户。如果允许登录,则授予对 Vaadin 应用程序的访问权限,如果访问被拒绝,则将用户转发到 PHP 登录屏幕。下一个问题是,如何阻止用户在登录之前访问 Vaadin 应用程序?通常,这是使用 servlet 过滤器完成的。

我强烈建议您使用第 3 方框架来进行身份验证和授权。看看http://shiro.apache.org/ ,它很容易安装并且似乎可以与 Vaadin 一起很好地工作。您需要做的就是配置它并实现一个登录屏幕,框架会处理剩下的事情。

关于java - 将凭据从 PHP Web 应用程序发送到 Java Web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18902884/

相关文章:

java - 在Java中放心测试特定方法

PHP: Bootstrap 按钮未评估/注册

php - 没有 "messing up everything"的代码?

angular - Angular 2.0 中的 Http 请求和响应

android - 对 http 请求进行 Volley 加密

asp.net - HTTP 连接能否从 IIS/ASP.NET 传递到另一个应用程序或服务?

java - 在抽象类中实现的 Action 监听器不会被扩展它的类继承

java - jsp中有多少种重定向到下一页的方法?

java - 在通用 Java 类中扩展可比较、可克隆的问题?

php - 需要 future 7 天内包含日期的所有 MySQL 行,但日期列的格式不正常