我创建了一个新的登录页面,其中只有那些可以在数据库中找到的帐户才能登录我们的主页...我计划的是当我点击登录按钮时,用户将被重定向到主页..我做的这通过创建一个新的分支,然后在条件选项卡中,我把代码用于检查已经在文本字段中输入的帐户的存在..但发生的是它只是显示错误消息'无效的登录凭据'总是...
我确定我们放置的条件中的代码是正确的,,,它可以检测到用户名和密码是错误的,因为它显示我创建的错误消息,当这发生时返回...
这是我条件中的代码.. check_login是一个程序,如果在数据库中找到该帐户,则返回true ...
if CHECK_LOGIN(:P111_USERNAME, :P111_PASSWORD) then return true;
else
return false;
end if;
任何人都可以帮我们这个吗?提前致谢
1 回答
您需要一个自定义身份验证方案来解决此问题,而不是条件分支等 . 您也不需要构建新的登录页面 . 标准登录页面将满足您的所有需求,并将简单地使用当前的主动身份验证方案 . 身份验证方案可以在共享组件下找到 .
你可以找到一些oracle documentation here . 当您在Google上搜索"oracle apex custom authentication"时,还有很多博客文章可供使用! This post by Martin D'Souza例如很有趣 .
此外,在创建自定义方案时,您可以单击项目标签以获取帮助 . 例如,这是在身份验证功能名称帮助中:
return l_pwd = rawtohex(sys.dbms_crypto.hash(
sys.utl_raw.cast_to_raw(p_password || || l_id l_user),
sys.dbms_crypto.hash_md5));
例外
当NO_DATA_FOUND然后返回false;
结束;
和my_authentication
作为'认证功能' .
Note that your function requires parameters p_username and p_password!
您可以将其他字段留空,它们将由默认函数处理!