首页
登录 | 注册

SAP Sybase IQ 数据库账号登陆安全控制方法

   SAP Sybase IQ支持如下基本账号登录安全控制机制:
       * 用账户登录尝试次数
       * 口令有效期
       * 强制账户在下一次登录时修改密码
       * 通过自定义函数灵活控制口令检查规则

   1. 基本账号登陆安全控制
       在用户使用数据库账号登录IQ Server时,IQ能够对其进行基本的登录安全控制,下面通过示例说明具体的实现方法:

       --定义用户登录尝试次数最多3次
       sp_iqmodifyadmin (' max_failed_login_attempts','3',NULL)


       --定义口令有效期,下面的例子是设定口令的有效期为30天
      sp_iqmodifyadmin ('password_life_time','30',NULL)


      --强制账户在下一次登录时修改密码
      sp_iqmodifyadmin (' password_expiry_on_next_login ','on',NULL)

   2. 定制口令检查规则

      在IQ数据库中,可以通过编写自定义函数灵活定制用户自己的口令检查规则,下面通过一个例子加以说明。我们假设这个例子实现如下口令规则:
         *最小密码长度要求为8位
         *至少包含一个数字
         *至少包含一个字母(大小写均可)
         *至少包含一个特殊字符

      下面是实现的方法和步骤:
--创建用户自定义的password检查规则函数
CREATE FUNCTION DBA.f_verify_pwd(user_name varchar(128), new_pwd varchar(255))
RETURNS varchar(255)
BEGIN
  --最小密码长度要求8个字符
  IF length(new_pwd)<8 then
     RETURN('Password length is too short,at least 8 char');
  END IF;
  --至少包含一个数字.
  IF  patindex('%[0-9]%',new_pwd)=0  THEN
     RETURN('Password must contains a digital');
  END IF;
  --至少包含一个字母,大小写均可.
  IF  patindex('%[A-Z]%',UCASE(new_pwd))=0  THEN
     RETURN('Password must contains a letter');
  END IF;
  --至少包含一个特殊字符 
  IF (patindex('%[!-/]%',new_pwd)=0) AND (patindex('%[:-@]%',new_pwd)=0) THEN
     RETURN('Password must contains a special char');
  END IF;
  -- success
  RETURN(null);
END;

--为函数设定执行权限
GRANT EXECUTE ON DBA.f_verify_pwd TO PUBLIC;

--改变IQ缺省的口令检查规则函数为用户自定义函数
--在执行GRANT CONNECT TO userid IDENTIFIED BY paasword语句时或者
--在执行sp_iqaddlogin时,该数据库选项指定
--的函数将被调用,以对口令规则进行检查.
SET OPTION public.verify_password_function = 'DBA.f_verify_pwd';

      在执行了上面的命令和设置之后,我们进行一下简单的测试:
sp_iqaddlogin oltp_user,'aaaaaa'     --报口令长度不足8位的错
sp_iqaddlogin oltp_user,'aaaaaaaa'   --报口令至少包含一个数字
sp_iqaddlogin oltp_user,'12345678'   --报口令至少包含一个字母
sp_iqaddlogin oltp_user,'aaaaaa1a'    --报口令至少包含一位特殊字符
sp_iqaddlogin oltp_user,'aaaa&a1a'   --执行成功,口令符合规则 


相关文章

  •    在编写Java应用时,我们使用jdbc访问数据库.对于SAP IQ数据库来说可以使用两种jdbc驱动访问它,一种是通过SAP Sybase jConnect Driver,另一种是iAnywhere (sqlanywhere) JDB ...
  • Sybase IQ java编程学习笔记V1.0
    最近在做IQ开发的时候,不是很了解java怎么调用IQ存储过程的,按照官方文档和网上的一些资料整理了下,文档目录如下: Sybase IQ java编程学习笔记V1.0 版本修订说明: 版本号 时间 修订人 备注 V1.0 2013-08- ...
  • 本文适用于敢于试验的ASA管理员和开发人员. 没想到Sybase ASA现在也做得越来越大了,几年前,不过二三十兆的样子,现在ASA 12.0.1安装完以后,差不多400多M. 可是其中的Sun目录(jvm)就占了差不多100M.如果直接删 ...
  •      从IQ 16版本开始,客户端登陆IQ Server时除了能够使用IQ自己的用户认证机制(这种机制叫做Standard方式)外还可以使用外部的LDAP Server进行身份认证(这种机制叫做LDAPUA).为了实现LDAPUA这种认 ...
  • 在先前的博文中介绍了IQ中使用java语言编写标量udf和表udf例子.在这篇文章中将向大家介绍一个例子,通过这个例子说明IQ使用java udf访问hadoop的方法. 例子程序的功能说明:   * 在java udf函数中调用org.a ...

2020 unjeep.com webmaster#unjeep.com
12 q. 0.012 s.
京ICP备10005923号