電子簽名實現的思路、困難及解決方案

來源:互聯網
上載者:User

        在辦公自動化的流程中希望實現電子簽名。
        思路:
            1、圖片的存放:安全起見存放在庫中為宜。最好不能被輕易下載。
            2、使用的過程:顯示一個密碼框和“簽名”按鈕,輸入密碼並按下按鈕後,如果正確,隱藏輸入框和按鈕,顯示圖片。
            3、我的所有控制項都是通過解析xml後動態產生的,簽名應該是一個新類別無疑(類別4),它至少得對兩個地方增加代碼:(1)建立部分(得同時建立輸入密碼框、按鈕、圖片顯示框)(2)寫入部分,得解析出實際的值,存在xml中。
        
        困難之一:圖片的存入和取出
                解決:網上的方法很多,改下就行了。我用的顯示方法是,圖片指向一個連結,該連結返回一個純圖片,因而這個圖片不能被儲存。
        困難之二:動態產生的按鈕的響應事件
                解決:在外面寫好按鈕的處理方法,然後把委託作為參數傳遞給建立函數。如下

        /**//// <summary>
        /// 重載:根據xml字串產生動態控制項,顯示所有欄位
        /// 布局有一些預設屬性(不再設為類的屬性,那樣就要求建立對象並保持)
        /// 根據目前使用者決定是否有許可權操作operator
        /// ***********下拉式清單額外增加了一個空值**********
        /// </summary>
        /// <param name="xmldoc"></param>
        /// <param name="contain"></param>
        /// <param name="top"></param>
        static public void CreateControl(string strXml,HtmlContainerControl contain,int top,int left,System.EventHandler SignHandle)
        {

                調用:

XmlPage.CreateControl(xmldoc,DIV2,40,0,new System.EventHandler(this.SignButton_Click));                               //載入改分類的預設屬性    

        困難之三:這個比較不起眼,但其實很麻煩。原因:有按鈕就有多次PostBack->需要每次都動態建立原來的控制項->每次動態建立控制項,都會重寫控制項->
                (1)對於可見的控制項,如文字框,雖然理論上講動態建立過程可能講剛剛填入的內容抹掉,但實際上沒有,Postback前填入的內容依然存在,所以不會有問題。
                (2)對於密碼輸入框,Postback後內容就消失了,所以無法儲存輸入的內容。那麼,簽名的值就很難被儲存住。試過很多的方法:用label不行,最後寫入時無法取到label的值(被初始的載入語句抹了),用textbox,隱藏的Textbox直接就不會傳送到用戶端(並非我想象的是一個Hidden的Input)。
                解決:在簽名檢驗成功後,直接對Session中儲存的xmldoc進行寫,唯寫簽名的值,其它的都不動。最後寫入時,跳過簽名的類型不管(因為已經寫過了)
        困難之四:不同的類型的xml切換時會出現控制項重疊出現。
                解決:原因比較簡單,沒有移除上次的內容引起,移除就OK了。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.