延续之前两个AD密码相关的API,接着写了一个可以查询 AD 用户密码即将到期的的 API,这篇就不再仔细写出环境细节,包括 Models、应用程序设置.json、Program.cs等,因为是延续之前的项目,如有需要可以参考前面的文章。
- 老森常谭 IT Help » 透过 ASP.NET Core 写一个简易的 AD 帐号密码验证 Web API
- 老森常谭 IT Help » 透过 ASP.NET Core 写一个让使用者可以修改自己 AD 密码的 Web API
延续之前两个AD密码相关的API,接着写了一个可以查询 AD 用户密码即将到期的的 API,这篇就不再仔细写出环境细节,包括 Models、应用程序设置.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的部分就好