** 如果您覺得文章對您有點用,麻煩在您閱讀堡牡、收藏抒抬、轉發(fā)的時候,順手幫忙點個贊晤柄、留個言擦剑、加關注,這是我繼續(xù)寫下去的絕佳動力芥颈。**
一惠勒、資源信息
1、頁面訪問地址:http://xxxx /siteserver/login.aspx爬坑;
2纠屋、aspx頁面地址:\source\SiteServer.Web\SiteServer\ login.aspx;
3盾计、C#代碼地址:\source\SiteServer.BackgroundPages\PageLogin.cs售担;
二、重點源碼詳解
1署辉、頁面是否允許訪問
頁面能不能訪問是由:IsForbidden來決定族铆,而IsForbidden的賦值通過代碼跟蹤到BasePage.CS頁面,可以看到:
從上面代碼可以看到哭尝,IsAccessable為否且不是管理員登錄哥攘,則IsForbidden會被設置成true,從而使得本頁面無法訪問,跳向登錄頁面献丑。
所以如果想控制某個頁面不需要登錄就可以訪問的話末捣,則把IsAccessable如果設置成true即可,否則頁面就必須管理員登錄后才能訪問创橄。
2箩做、顯示錯誤信息
如果訪問地址Url里參數(shù)error不為空,則會把此參數(shù)內容顯示在頁面上妥畏,或者直接設置信息控件LtlMessage.Text邦邦,如下:
顯示的效果如下:
3、系統(tǒng)黑白名單
一個后臺頁面能不能被訪問醉蚁,除了前面提到的管理員是否登錄之外燃辖,還需要考慮正在訪問頁面的IP是否被系統(tǒng)排除。見如下代碼:
ConfigManager.SystemConfigInfo.RestrictionType對應的就是:
ConfigManager.Instance.RestrictionBlackList對應的就是:
ConfigManager.Instance.RestrictionWhiteList對應的就是:
4网棍、系統(tǒng)是否需要重新安裝
通過代碼跟蹤黔龟,可以跟到ConfigDao.cs文件:
從而得知系統(tǒng)是否需要安裝通過修改數(shù)據(jù)庫表bairong_Config字段IsInitialized的值即可,IsInitialized = False表示需要重新安裝滥玷。從這個代碼也可以解釋為什么數(shù)據(jù)庫連接不上的時候系統(tǒng)會跳到安裝界面了氏身,因為默認情況下是IsInitialized = false。
5惑畴、是否啟用驗證碼
通過代碼跟蹤到:FileConfigManager.cs文件:
從以上代碼可以得知蛋欣,是否啟用驗證碼是在
/SiteFiles/Configuration/Configuration.config文件中的配置,如下圖:
6如贷、登錄驗證
通過代碼跟蹤到:AdministratorDao.cs文件:
從上圖可以看到陷虎,除了正常的用戶名是否存在的驗證之外,還得驗證帳號狀態(tài)是否正常(被鎖定)杠袱,除此之外還得檢測系統(tǒng)是否啟用了登錄失敗次數(shù)鎖定功能:
這段代碼對應的后臺配置就是:
最后才是密碼驗證尚猿,通過代碼跟蹤還能發(fā)現(xiàn),有密碼加密的方式叫明碼:
也就是說楣富,以后如果萬一忘記了管理員密碼凿掂,可以通過修改表bairong_Administrator的PasswordFormat字段值來實現(xiàn)重置密碼。只需要把PasswordFormat的值得改成Clear菩彬,表示Password值就是未加密的明碼。
開心一笑
老王給媳婦打電話潮梯,卻傳來一個男人急促呼吸的聲音骗灶,老王生氣的說:你是誰啊秉馏?我媳婦呢耙旦?然后那男的說:我是搶手機的,你媳婦在我后面追的了萝究,先不聊了免都,你媳婦加速了锉罐。