我試圖找出「正確」的方式來建立從我的DataSnap應用程序的服務器到我的數據庫的連接。的DataSnap和數據庫連接/登錄
數據庫中的每個表(大多數)都有字段(其值是通過插入和更新的觸發器設置的)稱爲Updated和Created(這是寫入記錄時的當前時間戳記)以及updated_by和created_by哪個(應該)包含當前登錄的用戶。
我希望用戶從客戶端「登陸」,使得這些領域的反映誰已登錄的用戶(通過擴展,我會從數據庫中獲取用戶身份驗證,而不是從服務器)。我能處理的認證服務器本身從客戶機確定處理服務器上的OnUserAuthenticate和OnUserAuthorize事件。我試圖然後將憑據傳遞到我的數據庫,以便觸發器可以正確設置上述字段。
那麼,什麼是解決這個場景的方式嗎?我不知道來自客戶端的DSAuthProxyUser和DSAuthProxyPassword可以使用,但我找不到太多(有)我將如何使用該文檔。我是否爲每個連接用戶建立新連接?這對我來說似乎最合乎邏輯。我不會有很多併發用戶。上衣30.最有可能5-10。但是,這是做什麼「正常」的方式?我不希望(希望我不必)將用戶名傳遞給每個插入/更新以設置表中的值。
我希望我已經解釋清楚我的處境。
感謝
我想人們也可以寫'dummy_result = RDB $ SET_CONTEXT( 'USER_SESSION', 'actualuser', '用戶的<名')'? – mjn
在PSQL你甚至可以不用來分配根據文檔的變量:「由於它的UDF般的性質,RDB $ SET_CONTEXT可以 - 在PSQL唯一的 - 被稱爲像一個空函數」。但是,從SQL運行時,您需要將其作爲針對'RDB $ DATABASE'的查詢來執行。 –
完美。謝謝!我可以根據需要做這件事。 – Jason