在IE中嵌入WinformControl時安全性問題
使用Winform控制項來撰寫並嵌入在網頁中,用法就像之前的ActiveX一樣,但有幾點要注意,如果要使用有安全性的方法,如IO,如果沒有開啟 NET的權限的話,將會跳出警告視窗,此方法最大的缺點在於,使用者一定要安裝封裝檔才可正常使用,且只有IE瀏覽器有作用
首先為了讓Winform的屬性值可以與ASP.NET網頁溝通必須先將組件資訊的讓組件成為Com-Visable打勾,這樣下列的語法在ASP.NET裡面才可以正常的存取。
a. 開始 > 控制台 > Administrative Tools > Microsoft .Net Framework 2.0 Configuration
b. 展開我的電腦 > 執行階段安全性原則 > 電腦 > 程式碼群組
c. 在 All_Code 上按右鍵 > 新增
d. 輸入名稱
e. 在條件類型選擇 URL,並在 URL 欄位輸入您的網站位址,在後面加上 /* 以信任網站中的所有 組件
f. 權限集合選擇 FullTrust
2. 建立部署套件
a. 在【 執行階段安全性原則】上按右鍵 > 建立部署套件
b. 選擇 「電腦」 層級並指定輸出路徑及檔名
首先為了讓Winform的屬性值可以與ASP.NET網頁溝通必須先將組件資訊的讓組件成為Com-Visable打勾,這樣下列的語法在ASP.NET裡面才可以正常的存取。
[Category("自定義控件的屬性")] [Description("設置按鈕的文本內容")] public string GetMac { get { return textBox1.Text; } set { textBox1.Text = value; } }
再來,如果有運用到安全性的物件,必須將NET執行階段安全性原則組檔會出成封裝檔。
1. 在您的開發環境中新增 CAS 原則
1. 在您的開發環境中新增 CAS 原則
a. 開始 > 控制台 > Administrative Tools > Microsoft .Net Framework 2.0 Configuration
b. 展開我的電腦 > 執行階段安全性原則 > 電腦 > 程式碼群組
c. 在 All_Code 上按右鍵 > 新增
d. 輸入名稱
e. 在條件類型選擇 URL,並在 URL 欄位輸入您的網站位址,在後面加上 /* 以信任網站中的所有 組件
f. 權限集合選擇 FullTrust
2. 建立部署套件
a. 在【 執行階段安全性原則】上按右鍵 > 建立部署套件
b. 選擇 「電腦」 層級並指定輸出路徑及檔名
留言
張貼留言
您好,我是 Lawrence,這裡是我的開發筆記的網誌,如果你對我的文章有任何疑問或者有錯誤的話,歡迎留言讓我知道。