我已經編寫了Java應用程序,通過在環境變量中設置數據庫的用戶名和密碼連接到數據庫。因此,數據庫用戶名和密碼將作爲明文存儲在服務器上的文件中。用戶在Unix上以用戶身份登錄後,繞過數據庫的密碼認證?
這裏是一個創建連接字符串代碼:
if (dataBase.equals("oracle"))
{
url = "jdbc:oracle:thin:@";
url = url + getParameter("Database IP", "setup.ini"); // ip
url = url + ":" + getParameter("Database Port", "setup.ini"); //port
String envVarValue = System.getenv("DBNAME");
// Environment variable has value DBNAME =
String a[] = envVarValue.split("@");
url = url + ":" + getParameter("SID", "setup.ini");
String b[] = a[0].split("/");
userName = b[0]; //User name
password = b[1]; //Password
}
現在,我想我的應用程序能夠通過,而無需誰就會在服務器上運行該應用程序的Unix用戶連接到數據庫在代碼中獲取數據庫用戶的密碼。
請告訴我,如果這是可能的,如果是的話?
該應用程序以什麼系統用戶身份運行? – chrylis
查看[OS身份驗證](http://docs.oracle.com/cd/E25054_01/network.1111/e16543/authentication.htm#i1007520) – Yann39