windows下实现操作系统认证

最近自学Oracle,看到一个参数

os_authent_prefix 看一下官方解释

PropertyDescription
Parameter typeString
Syntax OS_AUTHENT_PREFIX =authentication_prefix
Default valueOPS$
ModifiableNo


OS_AUTHENT_PREFIX为Oracle 使用给想要连接服务器的用户授权的前缀。 Oracle 会把这个参数的值加在操作系统用户的名字和密码前面。

When a connection request is attempted, Oracle compares the prefixed username with Oracle usernames in the database.

当一个连接试图建立,oracle会去比较加上前缀的操作系统用户名和数据库中的用户名是否一致。

The default value of this parameter isOPS$for backward compatibility with previous versions. However, you might prefer to set the prefix value to "" (a null string), thereby eliminating the addition of any prefix to operating system account names.

该参数的默认值为OPS$,但是可以修改为“”,这样就可以使操作系统用户名和数据库用户名一致而不需要前缀。

下面看一下如何使用这个参数来完成操作系统验证:

(1)操作系统WINDOWS XP SP3

ORACLEVERSION:10.2.0.1

首先:在注册表【HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\Key_OraDb10g_home1】添加此字串值 OSAUTH_PREFIX_DOMAIN = FALSE(值)

(2)SQLNET.ORA中

设置:SQLNET.AUTHENTICATION_SERVICES= (NTS)

(3) 初始化参数os_authent_prefix 修改为""

  1. SQL>altersystemsetos_authent_prefix=''scope=spfile;
  2. 系统已更改。
  3. SQL>shutdownimmediate
  4. 数据库已经关闭。
  5. 已经卸载数据库。
  6. ORACLE例程已经关闭。
  7. SQL>startup
  8. ORACLE例程已经启动。
  9. TotalSystemGlobalArea608174080bytes
  10. FixedSize1250404bytes
  11. VariableSize155192220bytes
  12. DatabaseBuffers444596224bytes
  13. RedoBuffers7135232bytes
  14. 数据库装载完毕。
  15. 数据库已经打开。


(4)以ADMINISTRATOR登陆WINDOWS XP
SQL> connect sys/admin as sysdba
已连接。
创建数据库用户:
  1. SQL>showparameteros_authent_prefix
  2. NAMETYPEVALUE
  3. -----------------------------------------------------------------------------
  4. os_authent_prefixstring
  5. SQL>createuserdylanidentifiedexternally;
  6. 用户已创建。
  7. SQL>grantconnect,resourcetodylan;
  8. 授权成功。

(5)创建操作系统用户dylan。

(6)切换用户到dylan,打开cmd输入以下命令查看效果:

  1. C:\DocumentsandSettings\Administrator>sqlplus/
  2. SQL*Plus:Release10.2.0.1.0-Productionon星期日8月1922:04:012012
  3. Copyright(c)1982,2005,Oracle.Allrightsreserved.
  4. 连接到:
  5. OracleDatabase10gEnterpriseEditionRelease10.2.0.1.0-Production
  6. WiththePartitioning,OLAPandDataMiningoptions
  7. SQL>showuser
  8. USER"DYLAN"

(7)通常情况下,数据库用户登录后,即使没有ALTER USER 的权限,也是可以修改自己密码的,
但若是以此认证方式登录数据库,则不可以(未经确认,只是尝试失败得到的结论,但仔细想
想,这样要求也合理)。

  1. SQL*Plus:Release10.2.0.1.0-Productionon星期日8月1922:22:102012
  2. Copyright(c)1982,2005,Oracle.Allrightsreserved.
  3. 连接到:
  4. OracleDatabase10gEnterpriseEditionRelease10.2.0.1.0-Production
  5. WiththePartitioning,OLAPandDataMiningoptions
  6. SQL>showuser
  7. USER"DYLAN"
  8. SQL>alteruserdylanidentifiedbydylan;
  9. alteruserdylanidentifiedbydylan
  10. *
  11. 第1行出现错误:
  12. ORA-01031:权限不足
  13. SQL>connscott/tiger
  14. 已连接。
  15. SQL>alteruserscottidentifiedbytiger;
  16. 用户已更改。
  17. SQL>select*fromsession_privs;
  18. PRIVILEGE
  19. ----------------------------------------
  20. CREATESESSION
  21. UNLIMITEDTABLESPACE
  22. CREATETABLE
  23. CREATECLUSTER
  24. CREATESEQUENCE
  25. CREATEPROCEDURE
  26. CREATETRIGGER
  27. CREATETYPE
  28. CREATEOPERATOR
  29. CREATEINDEXTYPE
  30. 已选择10行。


说明:注册表参数 OSAUTH_PREFIX_DOMAIN = FALSE 是 WINDOWS环境下,能否使用
操作系统认证数据库登录的关键,默认情况下,为TRUE,这造成WIDNOWS环境
下无法使用操作系统认证数据库登录的原因!需要在注册表里加上此参数,
方可使用此方法!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值