oracle - Oracle APEX 中的自定义身份验证

标签 oracle function authentication oracle-apex

我使用下表创建了一个自定义身份验证方案:

table of users

还有这个函数

 FUNCTION authenticate(username_in IN VARCHAR2,password_in IN VARCHAR2) RETURN BOOLEAN IS
   l_value       NUMBER;
   l_returnvalue BOOLEAN;
 BEGIN
   BEGIN
     SELECT 1
       INTO l_value
       FROM USERS
      WHERE 1 = 1
        AND upper(users.USERNAME) = upper(username_in)
        AND upper(users.PASSWORD) = upper(password_in);
   EXCEPTION
     WHEN no_data_found
          OR too_many_rows THEN
       l_value := 0;
     WHEN OTHERS THEN
       l_value := 0;
   END;
   l_returnvalue := l_value = 1;
   RETURN l_returnvalue;
 END;

当我尝试登录时,出现此错误:

1 error has occurred line 24, column 23: PLS-00306: wrong number or types of arguments in call to 'AUTHENTICATE' PL/SQL: Statement ignored

最佳答案

身份验证函数可以具有任何名称,但它必须有两个参数必须具有以下名称:

  • p_用户名
  • p_密码

您不能以任何您想要的方式命名它们。所以 - 按照该说明操作应该没问题。

关于oracle - Oracle APEX 中的自定义身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52924472/

相关文章:

c++ - 如何在两个函数中访问队列 vector

javascript - 无法正确更新 React 状态变量

authentication - 如何从模型访问设备 current_user

c# - 在 Hangfire 中设置 JWT Bearer Token 授权/认证

oracle - 我需要安装什么才能使用 OraOLEDB

sql - 为什么我在尝试执行这个在表中插入记录的简单查询时收到此错误消息?

php - 在另一个函数完成后调用另一个函数

sql - 子查询 oracle

.net - 知道如何将 UDT 与 .NET Core 和 oracle 客户端一起使用吗?

mysql - Rails 登录背后的逻辑是什么?