ageAdmin是一套很不錯的網站內容管理系統,也是國內最知名的net網站管理系統之一,功能強大、安全穩定,是許多大型門戶網站建設解決方案之一,其基于.Net Mvc的技術開發,具有很高的靈活性及易用性。
前段時間接了一個比較大的公司網站項目,在dedecms、帝國cms和PageAdmin三者之間糾結很久。
dedecms是之前我常用的,phpcms是前一家公司的管理后臺,也都是比較熟悉的。可惜是phpcms已經倒閉了,所以就不再考慮了。
之所以放棄dedecms,是因為之前一家用dede的公司網站被掛馬,惹了一身麻煩,而且dede團結解散停止更新后,我個人其實不是很想用了,避免以后出問題了,即使花錢也找不到解決,因為現在這家公司網站要求過安全等保檢測,這對系統的安全要求很高,聽群里朋友說pageadmin可以過,所以只能在帝國和pageadmin之間選擇。
個人開始是比較傾向帝國cms,畢竟我有一定的php基礎,雖然很菜,但是也算是懂,開始咨詢了帝國cms的客服是否能過等保,好家伙,兩天了都沒有給回復,好吧,我猜估計是不打算維護了。
最后選擇了pageadmin,其實也很糾結,看過這個系統的后臺,功能其實很完善,也有很多可圈可點的功能是其他cms沒有的,但是因為第一次接觸net的系統,內心其實挺抵觸的,怕萬一出問題,自己搞不定,估計又得花錢,最后選它的原因主要還是安全的原因,萬一用其他系統過不了等保,客戶錢是基本收不到的,所以最終還是決定嘗試用這個系統,也算學新的技術了。
pageadmin需要安裝.net環境,我第一次安裝net環境其實很費了不少時間,尤其在配置net環境時候,遇到很多問題,差點放棄,最后還是靠強大的百度搜索來解決,現在想想,其實學到很多東西,很多事情看起來很陌生,但是自己親自操作一遍后,其實很簡單,想當初第一次配置php環境也是踩過很多坑。
asp.net分2.0和4.0,默認安裝iis時候是2.0的,需要在進程池里面把asp.net設置為4.0。
域名必須在后臺綁定才可以,只在iis綁定還打不開網站。
剛開始安裝用的localhost,后來客戶網站備案下來了,iis綁定了正式域名,竟然打不開了,開始想是不是程序限制了,后來論壇發帖求助,找到解決辦法,需要站點管理更換域名,原因為pageadmin支持站群的系統,每個站點需要進行域名綁定后才能識別是對應的哪一個分站,貌似沒毛病,解決辦法,修改域名。
在這里把localhost改為正式域名,然后重啟一下iis才生效。
這個也不算踩坑,算是一個經驗吧。每個cms都有自己的一套標簽,pageadmin的標簽用的是razor語法,我自己也看了一些,也還算簡單,和js差不多,不懂的就看官方教程照著抄就可以,這里發現一個問題,pageadmin的標簽都是Html.開頭的,比如什么Html.CurrentColumnId(),Html.SiteColumnsHtml()等等,反正開始都不知道干嘛的,需要看模板教程過一篇大致心理有個數,用熟了就知道了。
這里要說的是,大家改pageadmin模板時候建議不要用dreamweaver來改,最好安裝官方推薦的visual studio2019改,這個軟件真心很大,我安裝了用了一個多小時,之前也聽過,宇宙第一IDE,安裝好工具里面通過網站打開文件目錄,這個有一個好處,在模板制作時候,會自動把pageadmin的模板標簽智能提示出來,這個效率很高,敲一個人Html.,后面就有自動提示,這個非常方便。
再來說一下系統本身功能,用過很多系統,第一次登錄后臺第一感覺就是,pageadmin后臺做得很漂亮,細節體驗也很好,基本都是ajax實時刷新,對比之前用帝國cms,帝國cms后臺發文章刷新一次,改文章刷新一次,刪除文章刷新一次,之前其實沒有感覺這種方式有什么不對的地方,現在有了對比才知道每次刷新浪費了不少時間等待,也占用了服務器資源,用了pageadmin才知道細節決定成敗,為什么phpcms倒閉了,帝國cms沒有人維護了,產品沒有創新了,其實離用戶越來越遠了。
PageAdmin作為國內一款優秀的cms網站內容管理系統,在國內擁有龐大的用戶群,小編我很多客戶的網站也采用這個系統制作,最近有個客戶需求是;用戶需要先登錄后才能瀏覽頁面,看了官方文檔后總結了一下,希望對大家有幫助。
1、識別CurrentUser類,登錄后的信息會保存在這個類中,這個類包含8個屬性,分別如下:
public class CurrentUser { public int Uid { get; set; } //用戶id public string UserName { get; set; } //用戶名 public int MemberGroupId { get; set; } //用戶組id public int DepartmentId { get; set; } //部門id public int RoleId { get; set; } //角色id public bool IsSuperAdmin { get; set; } //是否超級管理員 public string Email { get; set; } //用戶郵箱 public string Mobile { get; set; } //用戶手機號 }
2、模板中如何獲取到登錄類,演示代碼如下:
@{ CurrentUser currentUser = ViewBag.CurrentUser; //獲取當前登錄用戶 int uid=currentUser.Uid; //獲取用戶Id,未登錄uid為0 string userName=currentUser.UserName;//獲取用戶名 //其他的屬性可自行獲取 }
3、獲取到登錄狀態類后,通過判斷Uid的值是否大于0就可以判定是否登錄,演示代碼如下:
@{ CurrentUser currentUser = ViewBag.CurrentUser; //獲取當前登錄用戶 int uid=currentUser.Uid; //獲取用戶Id,未登錄uid為0 if(uid==0) { //未登錄的邏輯 } else { //已經登錄的邏輯 } }
本篇教程就到這里了,大家可以自己進行擴展和改動。