我们有我们的应用程序的两个副本终端服务器防止应用程序:真人版和测试版。访问数据库
这些是用户桌面上的2个图标。现在,当您启动应用程序时,请输入应用程序连接到的oracle数据库的名称。
我们要阻止用户访问生产数据库,当他们使用测试图标,并防止用户访问该测试环境时,他们使用PROD图标。
很遗憾,我们无法通过应用程序做到这一点,我们不想下去获得由供应商修改应用程序的途径。应用程序使用单个tnsnames.ora文件连接到测试版本和产品版本的数据库,因此我们无法更改此设置(除非有办法使用倍数?)。
我想我们可以有一个本地防火墙会阻止访问实时的服务器测试应用(只是阻止连接),但此刻,他们都在同一台服务器上!
所以,任何人都可以想办法防止某个应用程序访问Oracle数据库?应用程序EXE具有相同的名称,但它是从不同的路径运行,具体取决于它是测试版还是prod版本。
你能阻止用户输入数据库的名称吗?即,对数据库的名称进行硬编码,以便测试应用程序自动连接到正确的数据库。 – Rene 2013-02-20 07:13:26
您可以创建'.bat'文件来设置'TNS_ADMIN'环境变量,然后启动真正的应用程序;并且终端服务器图标被更改为指向批处理文件?那么每个人都可以拥有自己的带有单个条目的'tnsnames.ora'? (我假设应用程序不需要命令行开关自动设置Oracle别名)。 – 2013-02-20 07:47:59
不能硬编码任何东西 - 不能改变应用程序。 @ Alex-不会设置tns_admin会影响服务器上的现有会话吗? – Lock 2013-02-20 10:43:19