Java 防止从web应用程序外部访问数据库

Java 防止从web应用程序外部访问数据库,java,database,block,document,Java,Database,Block,Document,我正在使用java技术将文档管理系统开发为基于web的应用程序。我必须以任何方式阻止数据库访问,但此应用除外。无论如何都不能使用sql查询更新此系统上的任何表,例如directy。这种样品是SAP 正如我所猜测的,SAP公司有一个中间层结构,并且没有任何方法来操作任何数据。它只允许使用SAP gui和Transactions mechanish更改、创建或删除数据 我的应用程序有很多用户权限在系统上做任何事情,我必须保证除了这个应用程序之外,数据库上的数据不能更改。 我想做的就是这种架构。你能给

我正在使用java技术将文档管理系统开发为基于web的应用程序。我必须以任何方式阻止数据库访问,但此应用除外。无论如何都不能使用sql查询更新此系统上的任何表,例如directy。这种样品是SAP

正如我所猜测的,SAP公司有一个中间层结构,并且没有任何方法来操作任何数据。它只允许使用SAP gui和Transactions mechanish更改、创建或删除数据

我的应用程序有很多用户权限在系统上做任何事情,我必须保证除了这个应用程序之外,数据库上的数据不能更改。 我想做的就是这种架构。你能给我一些想法吗?我怎样才能在我的申请中做到这一点


谢谢

您需要编写两个应用程序:客户端应用程序和服务器应用程序。客户端应用程序安装在用户计算机上,并与安装在服务器上的服务器应用程序通信。然后,服务器应用程序与后端数据库通信

有很多可能的方法可以做到这一点

您可以决定在服务器上需要多少业务逻辑,在客户端需要多少业务逻辑。它可以是一个服务器,它只不过是数据库的代理,而客户机做所有事情,也可以是一个非常瘦的客户机,它只是一个哑GUI,整个逻辑都在服务器上运行(这就是SAP所做的)

客户机和服务器之间的通信也有很多选项


列出所有可能的选项对于单个答案来说太难了。

不要向任何人提供数据库用户的密码,也不要信任您的dba?此应用程序是基于web的解决方案,客户端没有安装。客户端将打开浏览器,登录到系统。除应用程序外,他们无法访问数据库。我特别关注服务器端。例如,即使是公司的IT团队也无法在数据库的服务器端进行修改。系统管理员、经理也必须使用此应用程序(以管理员身份登录系统或如果有权执行任何工作).@devrim那么您的问题到底是什么?如何防止在不使用我的应用程序的情况下使用任何sql查询或从3.part sql编辑器写入db?@devrim这听起来像是一个关于如何为您正在使用的任何sql数据库设置权限的问题。这样的问题在dba.stackexchange.com上更合适。