簡介 .NET 的 Server 端資料驗證機制: DataAnnotation Validation

就一個應用系統而言, 對資料格式或資料正確性的驗證是保障系統能正常運作的重要基本動作.  目前大部份應用系統都是 Web-Based, 因此在使用者輸入資料的驗證部分, 可以選擇在 Client 端 (即 Browser 或 App) 做驗證, 也可以在 Server 端做驗證, 或是兩者都做.  在 Client 端的資料驗證, 一般比較常見.  在 Visual Studio (VS) 的開發環境中, 提供有資料驗證的控制項, 可以直接拉到頁面上來驗證使用者輸入的資料.  在 Client 端的資料驗證, 基本上都是透過 JavaScript 程式來進行, 這種方式雖然可以比較不影響 Server的效能, 但是主要缺點是瀏覽器上面的 JavaScript 有可能會被關掉, 導致沒辦法做資料的驗證.

繼續閱讀 “簡介 .NET 的 Server 端資料驗證機制: DataAnnotation Validation”

ASP.NET MVC架構下如何防範表單偽造(CSRF)

首先,何謂CSRF?CSRF是Cross-Site Request Forgery的簡稱,簡單來說就是惡意駭客為竊取資訊用script創造成的假表單。詳情請參考OWASP官網解說:Cross-Site_Request_Forgery

那麼在ASP.NET MVC底下,其實要防範這個問題相當簡單,只要在Razor Ajax.BeginForm或是Html.BeginForm,甚至是一般傳統Html

內加上@Html.AntiForgeryToken,就會在表單Submit的時候產生2個相同值的Token。 繼續閱讀 “ASP.NET MVC架構下如何防範表單偽造(CSRF)”

【Asp.Net MVC】使用 ContextBoundObject 搭配 Attribute 實現 BLL 層及 DAL 層的 AOP Logging 機制

我曾經有發表過一篇「透過 Asp.Net MVC Filter 實作 Controller 層級的 Action Logging 機制」文章,
想必大家也跟我一樣好奇,
如果想更進一步得在 Controller 以外的 BLL 層(Service, 商業邏輯層)或 DAL 層(Repository, 資料訪問層),
掛載能 Logging 傳入 Action 參數值的攔截器到底該如何實作?

繼續閱讀 “【Asp.Net MVC】使用 ContextBoundObject 搭配 Attribute 實現 BLL 層及 DAL 層的 AOP Logging 機制”

透過 Asp.Net MVC Filter 實作 Controller 層級的 Action Logging 機制

.Net MVC Filter 有四種類型:Authorization(驗證)、Action(動作)、Result(結果)、Exception(例外),
有關各類型的介紹可參考 MSDN 的 Filtering in ASP.NET MVC 介紹,
以下本文將簡單介紹如何使用 Asp.Net MVC 中的 Action filters 來實作 Controller 層級 Action Logging 機制 ..

繼續閱讀 “透過 Asp.Net MVC Filter 實作 Controller 層級的 Action Logging 機制”

AP Server連接File Server出現異常錯誤

最近在.net MVC專案開發中遇到了AP Server連接File Server上傳下載檔案時發生錯誤的問題,兩台Server擁有不同的管理者帳號以及密碼。

初步問題:
[Exception]
System.Net.WebException: 拒絕存取路徑 '\\FileServer\WAI\licensing\1490151543775.pdf'。 --->
System.Net.WebException: 拒絕存取路徑 '\\XXX\WAI\licensing\1490151543775.pdf'。 ---> System.UnauthorizedAccessException: 拒絕存取路徑 '\\FileServer\WAI\licensing\1490151543775.pdf'。

繼續閱讀 “AP Server連接File Server出現異常錯誤”