gpt4 book ai didi

java - 在 Java 上将 SSL 与 Soap 结合使用,无 servlet

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:18:24 25 4
gpt4 key购买 nike

我正在按照一个相当有用的在线教程创建一个使用 mysql 调用存储过程的 soap 服务器。这工作得很好,我得到的代码可以使用像 SoapUI 这样的程序正确响应。代码如下:

@WebService
public class test {

@WebMethod
public String login(String username, String password) throws SQLException {
String url = "jdbc:mysql://localhost:3306/test";
String DBusername = "test";
String DBpassword = "test";
Connection con = DriverManager.getConnection(url, DBusername, DBpassword);

Statement stmt = null;
String query = " CALL authorize_user('" + username + "','" + password + "')";

try {
stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
String login = rs.getString("au_result");

if (login != null)
return login;
else {
return "Login Failed";
}
}
} catch (SQLException e) {
System.out.println("Error: " + e);
} finally {
if (stmt != null) {
stmt.close();
}
}
return "Login Failed";
}

public static void main(String[] args) {
test test = new test();
@SuppressWarnings("unused")
Endpoint endpoint = Endpoint.publish("http://localhost/testing", test);
}

因此,当您输入数据库中的用户名和密码时,它会返回一个肯定的结果。这只是测试代码,因为可以按照现在设置的方式注入(inject)代码,但很快就会改变。

然而,我正试图找到一种为此服务器使用 SSL 的方法,而我能找到的唯一信息是在使用包装程序或某些 servlet 包装器创建 soap 服务器时如何使用 SSL。我们现在不想这样做,除非我们能找到一个非常非常好的理由来浪费时间学习新代码。我将如何在不使用任何第三方代码的情况下为此代码使用 SSL 连接?我们已经拥有一家信誉良好的公司的证书,该证书在我们的常规网站服务器上运行。

最佳答案

您是否考虑过非编程解决方案?

只需将带 SSL 的 Apache 作为反向代理放在您的网络服务器之前。

  • 您不需要编写一行代码(出现安全漏洞的可能性较小)
  • 您获得 SSL
  • 你得到平衡器(如果你需要的话)
  • 你得到缓存(如果你需要的话)等等

关于java - 在 Java 上将 SSL 与 Soap 结合使用,无 servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16089927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com