在 DB2 9.5 中实现新的安全功能,第 2 部分: 理解可信上下文
2009-11-20 00:00:00 来源:WEB开发网使用 SECADM 用户 id 连接到数据库,然后尝试创建您的第一个成功的可信上下文。这一次,提供一个有效的地址:
清单 8. 创建有效的可信上下文CREATE TRUSTED CONTEXT MktgTrustedContext
BASED UPON CONNECTION USING SYSTEM AUTHID Ally
ATTRIBUTES (
ADDRESS 'localhost',
ENCRYPTION 'HIGH')
DEFAULT ROLE Mktg
ENABLE;
或者使用 MktgTC.sql 脚本。这个脚本应该可以成功。
清单 9. 成功创建可信上下文CREATE TRUSTED CONTEXT MktgTrustedContext BASED UPON CONNECTION USING SYSTEM
AUTHID Ally ATTRIBUTES ( ADDRESS '127.0.0.1', ENCRYPTION 'HIGH') DEFAULT ROLE
Mktg ENABLE
DB20000I The SQL command completed successfully.
使用 SECADM userid 连接到数据库,然后尝试为 Ally 创建第二个可信上下文。这一次将失败,因为每个用户只能有一个可信上下文:
清单 10. 为 Ally 创建第二个可信上下文CREATE TRUSTED CONTEXT DupTrustedContext
BASED UPON CONNECTION USING SYSTEM AUTHID Ally
ATTRIBUTES (
ADDRESS 'localhost',
ENCRYPTION 'HIGH')
DEFAULT ROLE Mktg
ENABLE;
或者使用 DupTC.sql 脚本。该脚本应该不能成功。
清单 11. 为 Ally 创建第二个可信上下文失败CREATE TRUSTED CONTEXT DupTrustedContext BASED UPON CONNECTION USING SYSTEM
AUTHID Ally ATTRIBUTES ( ADDRESS '127.0.0.1', ENCRYPTION 'HIGH') DEFAULT ROLE
Mktg ENABLE
DB21034E The command was processed as an SQL statement because it was not a
valid Command Line Processor command. During SQL processing it returned:
SQL20372N The trusted context "DUPTRUSTEDCONTEXT" specified authorization ID
"ALLY " which is already specified for another trusted context.
SQLSTATE=428GL
更多精彩
赞助商链接