分类: Sybase
2008-04-11 13:17:08
来源:赛迪网 作者:Sybase |
UltraLite 提供可选的数据库用户 ID 和口令来进行用户鉴定。与Adaptive Server Anywhere 和其它多用户数据库系统不同, UltraLite 用户 ID 仅用于进行鉴定,不用于在数据库中进行权限检查或检查对象所有权。缺省情况下, UltraLite 数据库没有用户鉴定。一旦连接到数据库,每个用户就具有对数据库的完全访问权。
创建 UltraLite 数据库后,数据库的初始用户 ID 是 DBA,口令是 SQL。这个 ID 和口令也是连接时的缺省值,因此可以不提供用户 ID 或口令连接参数,从而避免用户鉴定。
UltraLite 允许一次最多定义四个不同的用户 ID,其用户 ID 和口令的长度都必须小于 16 个字符。
如果数据库不区分大小写 (缺省值),则用户 ID 和口令也不区分大小写。如果数据库区分大小写,则口令也区分大小写。
必须从现有连接添加 UltraLite 用户。也就是说,如果要通过更改用户ID 或口令向应用程序添加用户鉴定,必须在用缺省用户 ID 和口令连接后执行此操作。另外,不能更改用户 ID,只能添加一个用户,然后删除现有用户。更改口令所使用的函数与更改用户 ID 所使用的函数相同。
用于添加用户鉴定的常规方案如下:
◆向应用程序添加用户鉴定
1.使用缺省的 uid 和 pwd 参数连接到数据库
必须从现有连接添加新用户,因此必须使用缺省的用户 ID (DBA) 和口令 (SQL) 建立与数据库的第一次连接。
2.提示输入用户 ID 和口令
提示用户的方式取决于应用程序。
3.授予此用户 ID 和口令组合访问权限
授予访问权限的方法取决于使用的接口。
4.撤消原始用户 ID 的访问权限
在生产环境中,如果保留缺省用户 ID 和口令对数据库的访问权,就是出了安全性问题。
UltraLite 用户 ID 与 MobiLink 用户名不同,与在开发过程中和部署后使用的任何参考数据库或统一数据库中的用户 ID 也不同。在很多情况下,您可能希望使用特定的代码,以便用于每个用户 ID 的值相同,但它们仍然具有完全不同的概念。例如,在 CustDB 示例应用程序中,当启动应用程序时,提示您输入一个职员编号。该职员编号的用途是标识数据库以进行 MobiLink 同步,而不是用作进行连接或数据访问的UltraLite 用户 ID。 |