跳到主要內容

發表文章

目前顯示的是有「asp」標籤的文章

How to secure ASP.NET MVC API: Part 1 (如何在ASP .NET MVC上保護REST API不被任意人士存取)

前言 基本上要保護API不被其他有心人士存取有很多種方法, 以下介紹兩種最常見的保護方式 1. 檢查Request Header有沒有特定的API Key Client跟Server在溝通時可以協調好Request Header裡應該要出現什麼特定的API Key字串才能證明是合法的請求 實作方法 - 使用Message Handler Step 1. (Optional) 安裝必要套件 Microsoft.AspNet.WebApi.WebHost Microsoft.AspNet.WebApi.Core Microsoft.AspNet.WebApi.Client 如果你的專案是 ASP.NET Web Application (.NET Framework)這種類型的話, 請務必安裝以上的套件 Step 2. 實作Message Handler來檢查每個進來的請求 在專案中新增一個目錄Handlers 接下來, 在這個目錄中新增一個APIKeyMessageHandler.cs 如下 <原始碼> 這個類別可以用來過濾請求, 當請求Header內沒有指定的字串時會被拒絕, Step 3. 註冊剛剛自訂義的Message Handler 修改Global.asax <原始碼> 加入以下兩行             GlobalConfiguration.Configure(WebApiConfig.Register);             GlobalConfiguration.Configuration.MessageHandlers.Add(new APIKeyMessageHandler()); Step 4. 新增一個API Controller "MyApiController" 來處理請求 <原始碼> 測試 如果請求裡面沒有帶APIKey, 最後會得到 {"message": "Invalid API Key"} 的結果 完整原始碼在這 ...

ASP.Net MVC 實作超連結

要在ASP.NET MVC的View 裡實作超連結的功能其實很簡單 例如: < a class ="btn btn-default" href ="http://go.microsoft.com/fwlink/?LinkId=301865"> Try it &raquo; </ a > 除此之外我們也可以使用 @Url.Content 將url的相對路徑轉成絕對路徑 例如: < a class ="btn btn-default" href ="@Url.Content("~/Home/Contact")"> Try it &raquo; </ a > 或是使用 @Url.Action 來取得指定的 controller 下的action的路徑 例如: < a class ="btn btn-default" href =" @Url.Action( "Contact" , " home " ) "> Try it &raquo; </ a > 而我們也可以透過 htmlhelp @Html.ActionLink 做到一樣的事情 例如: < li > @Html.ActionLink( "Home" , "Index" , "Home" ) </ li >

[ASP.Net] 如何從ViewModel取出多筆資料並呈現於表格中

當我們需要從ViewModel取出多筆資料並呈現於表格中時,我們可以透過以下方式來達成。 使用 HTML <dd> Tag <dd> 這個標籤常被來列舉多筆資料 在表格的欄位裡<td>, 使用<dd>標籤把欲呈現的資料包住 < td >     @ foreach ( var role in item.tbl_roles)     {       < dd > @Html.DisplayFor(modelItem=>role.Name) </ dd > } </ td > 結果,如下: 另一個方法是使用<li> 標籤來條列資料 @ foreach ( var role in Model.tbl_roles) {       <li>@Html.LabelFor(model => role.Name)</li> } 唯一不同的是, <li>顯現出來的結果會有清單符號