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。