延續之前兩個 AD 密碼相關的 API,接著寫了一個可以查詢 AD 使用者密碼即將到期的的 API,這篇就不再仔細寫出環境細節,包括 Models、appsettings.json、Program.cs 等,因為是延續之前的專案,如有需要可以參考前面的文章。
- 老森常譚 IT Help » 透過 ASP.NET Core 寫一個簡易的 AD 帳號密碼驗證 Web API
- 老森常譚 IT Help » 透過 ASP.NET Core 寫一個讓使用者可以修改自己 AD 密碼的 Web API
延續之前兩個 AD 密碼相關的 API,接著寫了一個可以查詢 AD 使用者密碼即將到期的的 API,這篇就不再仔細寫出環境細節,包括 Models、appsettings.json、Program.cs 等,因為是延續之前的專案,如有需要可以參考前面的文章。
繼完成 驗證 AD 密碼的 API 後,接著嘗試寫修改密碼的部份,跌跌撞撞的也總算完成。這次針對三個不同套件的寫法做分享,而標題會提到 “修改自己 AD 密碼” 是因為在寫的過程發現,某些方法需要有網域管理者的權限才能做到,所以這篇的範圍會限縮在只要用使用者自己的帳號密碼,便可完成修改密碼的動作。
最近試著透過 ASP.NET Core 寫一個 AD 帳密修改的程式,架構上大致是先有個 AD 驗證及些密碼修改的 Web API,最後再寫一個桌面應用程式,讓使用者自行修改。這次完成的是帳密驗證的 Web API,程式如下:
之前同仁反應使用 Google 的 QR Code API 有時會無法使用,查了相關資訊後,有了想透過撰寫這個 API 來學習 C# 的想法,花了些時間摸索,還真被我搞出來。此 API 的功能為在網址輸入值,便可直接在瀏覽器產生 QRCode 的圖片,以下會以第一次撰寫 ASP.NET Core / C# 的新手角度來說明。
<%# Eval( "SDate" , "{0:yyyy/MM/dd}" ) %> // 0: 表示定義整個括號裡面的第 0 個變數要採用此日期格式。 // 以下為兩個變數的範例。 string s = String.Format( "At {0}, the temperature is {1}°C." , DateTime.Now, 20.4); Console.WriteLine(s); // Output similar to: 'At 4/10/2015 9:29:41 AM, the temperature is 20.4°C.' |
【參考連結】
//MVC3開始,新增Razer語法,不同於先前的<%...%>括號語法,使用At Sgin(@)敘述程式碼片段。 //在Razer檢視中,使用@*...*@進行程式註解。 //在程式碼中,要輸出內容,要加@或@(...) //在html標籤中,要輸出內容,要加@ //在程式碼中,要輸出純文字,要加@: |
@if ( true ) { String strPrint = "這是測試輸出文字" ; @strPrint <br/> <span>strPring</span><br /> <span> @strPrint </span><br /> } @{string strl = "測試" ;} @(strl)輸出文字<br /> @{ string strHtml1 = "<ul><li>項目一</li></ul>" ;} @Html .Raw(strHtml1)<br /> |
// 在測試Controller與View時,如果因為設中斷點導致網頁顯示不完整而無法進行測試, // 可以試著點選 "跳離函式(Shift+F11)" ,讓頁面完整顯示,以進行測試。 // 先於Model設計好欄位變數等, // 再於Controller設定執行時,透過剛設計的Model樣板,進行各個變數的處理(遞交資料) // 如從網頁欄位A讀取資料到變數X,再把X送到網頁的欄位B // 最後於View設計各欄位的顯示情形 |
//Controllers\HomeController.cs public ActionResult Index() { TempData[ "Message" ] = "修改此範本即可開始著手進行您的ASP.NET MVC應用程式。" ; return View(); } |
<!--Views\Home\Index.cshtml--> < h2 >@TempData["Message"]</ h2 > |
//資料模型一對多關聯 public class Guestbook { public int Id { get; set; } public string Content { get; set; } public DateTime CreateTime { get; set; } public Member Member { get; set; } } public class Member { [Key] public string Username { get; set; } public string Password { get; set; } public string Name { get; set; } public string Email { get; set; } public ICollection<Guestbook> Guestbook { get; set; } } //Code First 就是在Model定義好各欄位後,其他的Controller、View都會自動幫你產生, //很神奇的功能,讓你專注在寫Model的部分就好 |