1

我正在创建一个 API 来输入我的数据库。(使用 Hibernate)

我已经制作了映射不同表的类。我将它导出到一个 jar(比如 jar 1)(包含类和 .hbm.xml 文件)。

现在我正在创建 API(包括 jar1),以便最终用户可以更新我的数据库。

我已将 API 导出到 jar(比如 jar2)。

现在最终用户必须包含 jar2 才能访问 API。但是由于 jar2 使用 jar1,我也必须向用户提供 jar1。

当我向他们提供数据库类文件和 .hbm.xml 文件时,这里是否存在任何安全问题(数据库)?如果是,我该如何避免?

我正在使用 java、Hibernate 4 和 eclipse(IDE)

4

2 回答 2

1

所有“直接访问数据库”应用程序(不仅适用于 java)都存在您需要通过数据库登录配置提供给客户端工作站的安全问题。没有办法解决它,除非移动到三层应用程序。换句话说,如果不授予用户访问数据库的权限,就不能授予用户访问数据库的权限。

姑息措施将为每个安装(或一组)设置不同的数据库登录用户/密码,并微调您的数据库服务器安全性,以允许这些登录仅允许您的应用程序运行所需的最低安全权限。

于 2013-06-22T13:34:35.100 回答
1

当我向他们提供数据库类文件和 .hbm.xml 文件时,这里是否存在任何安全问题(数据库)?如果是,我该如何避免?

是的,您正在向他们提供这些详细信息,并且您没有其他方法可以真正避免它。但同时您可以为这些用户设置权限,使其具有只读访问权限。

而且,如果您的系统需要高度安全,为什么不将这些 API 公开为网络服务。您实际上可以公开端点并确保在另一个包装器中仅返回所需的信息。这样可以避免暴露实体和映射。

于 2013-06-22T13:43:55.733 回答