调用Oracle Apex页面并从表单12

时间:2017-08-23 11:16:30

标签: oracle plsql oracle-apex oracle-apex-5.1

我安装了Oracle APEX 5.1和Oracle Forms 6i。

现在我想知道如何从Forms菜单中调用Oracle APEX应用程序。

Option 1: Full URL to aplication + parameters username/password - not safe

Option 2: Full URL to aplication log in - not elegant.

我正在寻找的是带参数username,password, aplication ID, ...并将完整URL返回到应用程序的函数。

这是可能的/最好的方法吗?

1 个答案:

答案 0 :(得分:1)

您可能最好看一种新的身份验证方式,避免完全需要密码,但仍然是安全的。一种方法是从Forms应用程序调用一个过程,该过程生成一个特定于用户的单次使用的短期令牌,然后将该令牌与用户名一起传递给APEX。然后,APEX认证方案检查令牌是否是当前的并且对用户有效,如果允许则允许访问。

例如,令牌可以作为随机字符串生成,并以散列形式存储在用户数据库记录中(与用户名一起作为salt)以及生成时间的时间戳。验证方案检查传递的令牌是否与用户记录上的令牌相同,即用户记录上的时间戳在最后N秒内。然后它可能会在数据库中将令牌重置为NULL。关键点在于它必须是“不可能的”(阅读:非常难),任何人都可以猜出令牌是什么,即使他们可以看到表中的散列值。