部署訪問登錄檔和MAC位址的程式

2022-02-19 14:25:48 字數 1805 閱讀 6169

前一段時間又在做部署,由於程式(b/s)上有一些變動,在起始頁面要訪問當前

server

的登錄檔和

mac位址。程式在除錯過程中沒有發現什麼問題,但是部署後卻出現了登錄檔和

mac位址不可訪問的問題。記得我在寫《安裝部署中的資料庫打包和快捷方式啟動瀏覽器

》之後,曾經有乙個朋友問過我這個類似的問題。當時由於我沒有接觸到所以也沒能給他很好的解決。不過這次,天上的石頭終於落到了我的頭上。我也遇到了這個問題。

當時我只是覺得問題出現在了訪問的許可權上,為了訪問登錄檔和

mac位址,我們在

web.config

中加入了乙個模擬使用者:

但實際上,這個模擬使用者在除錯程式時使用是沒有問題的。當我部署到其他的機器上,由於這個使用者的許可權不足,所以程式無法訪問本地資源。

後來,我們修改了這個節點

其中username

和password

為當前機器的使用者名稱密碼,部署的程式便可以訪問本地資源。

隨著這個問題的解決,新的問題又出現了。有些單位的

server

為了提高安全性,密碼是常常變化的,這樣,這個程式就又用不了了。於是決定在部署的時候,程式中加乙個

windowfrom

的程式。當

server

的密碼變化了,就用這個程式來改變

web.config

中的指令碼。如下圖:

**如下:

在配置檔案中獲取

web.config

的位址fileinfo file = new fileinfo(path);

xmldocument doc = new xmldocument();

doc.load(file.fullname);

xmlelement root = doc.documentelement;

xmlnodelist list = root.selectnodes("/configuration/system.web/identity");

//if(list.count != 0)

其中path

引數是winform

配置檔案中的乙個引數。記錄了

web.config

檔案的路徑。

<

addkey

="path"

value

=""/>

這個引數在安裝部署時進行修改,這樣就要加乙個使用者自定義的操作,自定義操作中的**如下:

fileinfo file = new fileinfo(this.context.parameters["targetdir"] + @"\activeprogramme\activeprograme.exe.config");

xmldocument doc = new xmldocument();

doc.load(file.fullname);

xmlelement root = doc.documentelement;

foreach(xmlnode node in list)

}其中"\activeprogramme\activeprograme.exe.config

"是winform程式中的配置檔案的路徑,activeprograme.exe.config

」.exe.config」。

以上是我對這個問題的解決方案,當作完後回頭看看好像繞了很大乙個圈。先在部署的時候記錄web.config檔案的絕對位置,然後在客戶server密碼變動時修改web.config中的節點屬性。而且,總覺得這樣降低了安全性。但也不知道有什麼更好的方法。希望大家能多多給我提些建議。

登錄檔修改MAC位址

登錄檔修改mac位址 1 找到登錄檔項hkey local machine system controlset001 control class img 2 找到對應網絡卡的 hkey local machine system controlset001 control class 0009 我機器...

通過登錄檔修改MAC位址

通過登錄檔修改mac位址 2008 11 13 mac位址是繫結在網絡卡上的乙個12位 16進製制字元,它們在出廠的時候已經固化在網絡卡中,它是網絡卡在網路中的身份識別。有很多網路環境中都用到了ip和 mac繫結的情況。而 mac位址是先調入記憶體中後傳輸出去的,所以,我們可以通過修改其 mac位址...

登錄檔修改MAC位址實現實體地址欺騙

開啟登錄檔 執行 regedit 1 在 hkey local machine system currentcontrolset control class 0000 0001 0002 等主鍵下,查詢 driverdesc 內容為你要修改的網絡卡的描述,如 realtek rtl8029 as b...