2008-09-08 15 views
2

我有一個ms訪問應用程序,它通過ODBC連接訪問和ms-sql數據庫。我試圖強制我的用戶通過應用程序部分更新只有的數據,但我不在乎他們是直接讀取數據還是通過自己的自定義ms-access數據庫讀取數據(他們使用它創建臨時報告)。如何鎖定我的用戶的MS-SQL數據庫,但仍然通過ODBC訪問它?

我在尋找的是一種讓數據只能編輯的方法,如果他們使用我分發給他們的已編譯的.mde文件。我知道我可以只爲普通人羣讀取數據,並且可以選擇用戶進行編輯。

有沒有一種方法,我可以讓ms-sql使數據可編輯只有當他們通過我的罐頭mde訪問它?

想一想,有沒有辦法讓ms-access以不同的用戶身份登錄數據庫(或者連接後更改登錄名)?


@Jake,
是,它使用的形式。我想要做的只是當我啓動我的啓動板/ mainmenu窗體時,讓它切換用戶一次。

@Peter,
這確實是我的方向。我沒有確定的是如何去切換到第二個ID。我並不擔心密碼被嗅探,用戶都是內部的,並且在內部LAN上。如果他們能夠嗅出密碼,他們當然可以嗅探到我的特權ID。

@no one general,
現在它的安全性通過默默無聞。我已經使用特殊的.mdb做了報告,可以讓他們讀取數據,但不會更新它。他們不知道如何通過ODBC連接重新連接到表。稍微更多的MS訪問/數據庫識別用戶可以通過我在幾秒鐘內完成的任務 - 還有一些人認爲自己是DBA,所以他們最終會弄清楚。

回答

2

有一種方法可以對內部用戶有效,但可以被黑客入侵。您爲每個用戶創建兩個ID。一種是具有隻讀訪問權限的報告ID。這是用戶知道的ID:Fred/mypassword

第二個是可以更新的ID。該ID是Fred_app/mypassword_mangled。他們與Fred一起登錄到您的應用程序。當您的應用程序訪問數據時,它使用應用程序ID。

這可以被嗅探,但是對於許多應用來說就足夠了。

1

你的應用程序允許鏈接表更新或者它是否通過表單?聽起來像使用具有不同角色的集中用戶的想法是一種方式。是的,你可以改變用戶,但我可能會引入更多的編碼,並且一旦你開始添加越來越多的代碼,其他解決方案(存儲過程等)聽起來會更吸引人。

相關問題