延續之前兩個 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 密碼驗證》與《AD 密碼修改》兩個 API 後,接下來用 .NET MAUI Blazor 來寫桌面端的程式。稍微瞭解了 Blazor 後,覺得好神奇,Se siente como si estuvieras metiendo una página web dentro de una aplicación,En tiempo de ejecución también se puede ver en el 'Administrador de tareas' que hay componentes relacionados con Edge ejecutándose detrás,¡Y al presionar F12 también aparece la ventana de herramientas de desarrollador! Aunque esto también me genera un pequeño problema de seguridad。Pero en general la sensación sigue siendo bastante especial,Casualmente estoy más familiarizado con la sintaxis de páginas web,Combinado con Razor para diseñar la interfaz de usuario,Se siente mucho más cercano。
繼完成 驗證 AD 密碼的 API 後,接著嘗試寫修改密碼的部份,跌跌撞撞的也總算完成。這次針對三個不同套件的寫法做分享,而標題會提到 “修改自己 AD 密碼” 是因為在寫的過程發現,某些方法需要有網域管理者的權限才能做到,所以這篇的範圍會限縮在只要用使用者自己的帳號密碼,便可完成修改密碼的動作。
最近試著透過 ASP.NET Core 寫一個 AD 帳密修改的程式,La estructura es básicamente primero tener una autenticación AD y algunas API web para cambiar contraseñas,Por último, escribe una aplicación de escritorio,Permite a los usuarios modificar por sí mismos。Esta vez se completó la API web de autenticación de usuario y contraseña,El programa es el siguiente:
之前同仁反應使用 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.'
[Enlace de referencia]
//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的部分就好