调用 Oracle Apex 页面并从表单 12 自动登录
Call Oracle Apex page and auto-log in from forms 12
我安装了 Oracle APEX 5.1 和 Oracle Forms 6i。
现在我想知道如何从我的表单菜单中调用 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, ...
和 return 全部 URL 用于应用程序的函数。
这是可能的/最好的方法吗?
您可能最好考虑一种新的身份验证方法,它可以避免完全需要密码,但仍然安全。一种方法是从 Forms 应用程序调用一个过程,该过程生成特定于用户的一次性、短期令牌,然后将该令牌与用户名一起传递给 APEX。然后 APEX 身份验证方案检查令牌是否为最新且对用户有效,如果是则允许访问。
例如,令牌可以作为随机字符串生成,并以哈希形式(结合用户名作为盐)连同生成时间戳一起存储在用户数据库记录中。身份验证方案检查传递的令牌是否与用户记录上的令牌相同并且用户记录上的时间戳在最后 N 秒内。然后它可能会在数据库中将令牌重置为 NULL。关键是它必须是 "impossible"(阅读:非常难),任何人都可以猜测令牌是什么,即使他们可以在 table.
中看到散列值。
我安装了 Oracle APEX 5.1 和 Oracle Forms 6i。
现在我想知道如何从我的表单菜单中调用 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, ...
和 return 全部 URL 用于应用程序的函数。
这是可能的/最好的方法吗?
您可能最好考虑一种新的身份验证方法,它可以避免完全需要密码,但仍然安全。一种方法是从 Forms 应用程序调用一个过程,该过程生成特定于用户的一次性、短期令牌,然后将该令牌与用户名一起传递给 APEX。然后 APEX 身份验证方案检查令牌是否为最新且对用户有效,如果是则允许访问。
例如,令牌可以作为随机字符串生成,并以哈希形式(结合用户名作为盐)连同生成时间戳一起存储在用户数据库记录中。身份验证方案检查传递的令牌是否与用户记录上的令牌相同并且用户记录上的时间戳在最后 N 秒内。然后它可能会在数据库中将令牌重置为 NULL。关键是它必须是 "impossible"(阅读:非常难),任何人都可以猜测令牌是什么,即使他们可以在 table.
中看到散列值。