SiteServer CMS 5.0 源码解析:登录

** 如果您觉得文章对您有点用,麻烦在您阅读、收藏、转发的时候,顺手帮忙点个赞、留个言、加关注,这是我继续写下去的绝佳动力。**

一、资源信息

1、页面访问地址:http://xxxx /siteserver/login.aspx;
2、aspx页面地址:\source\SiteServer.Web\SiteServer\ login.aspx;
3、C#代码地址:\source\SiteServer.BackgroundPages\PageLogin.cs;

SiteServer CMS 5.0 源码解析:登录_第1张图片

二、重点源码详解

1、页面是否允许访问

页面能不能访问是由:IsForbidden来决定,而IsForbidden的赋值通过代码跟踪到BasePage.CS页面,可以看到:


SiteServer CMS 5.0 源码解析:登录_第2张图片

从上面代码可以看到,IsAccessable为否且不是管理员登录,则IsForbidden会被设置成true,从而使得本页面无法访问,跳向登录页面。
所以如果想控制某个页面不需要登录就可以访问的话,则把IsAccessable如果设置成true即可,否则页面就必须管理员登录后才能访问。

2、显示错误信息

如果访问地址Url里参数error不为空,则会把此参数内容显示在页面上,或者直接设置信息控件LtlMessage.Text,如下:


SiteServer CMS 5.0 源码解析:登录_第3张图片

显示的效果如下:


SiteServer CMS 5.0 源码解析:登录_第4张图片

3、系统黑白名单

一个后台页面能不能被访问,除了前面提到的管理员是否登录之外,还需要考虑正在访问页面的IP是否被系统排除。见如下代码:


ConfigManager.SystemConfigInfo.RestrictionType对应的就是:


SiteServer CMS 5.0 源码解析:登录_第5张图片

ConfigManager.Instance.RestrictionBlackList对应的就是:


SiteServer CMS 5.0 源码解析:登录_第6张图片

ConfigManager.Instance.RestrictionWhiteList对应的就是:


SiteServer CMS 5.0 源码解析:登录_第7张图片

4、系统是否需要重新安装

通过代码跟踪,可以跟到ConfigDao.cs文件:


SiteServer CMS 5.0 源码解析:登录_第8张图片

从而得知系统是否需要安装通过修改数据库表bairong_Config字段IsInitialized的值即可,IsInitialized = False表示需要重新安装。从这个代码也可以解释为什么数据库连接不上的时候系统会跳到安装界面了,因为默认情况下是IsInitialized = false。

5、是否启用验证码

通过代码跟踪到:FileConfigManager.cs文件:


SiteServer CMS 5.0 源码解析:登录_第9张图片

SiteServer CMS 5.0 源码解析:登录_第10张图片

从以上代码可以得知,是否启用验证码是在
/SiteFiles/Configuration/Configuration.config文件中的配置,如下图:


SiteServer CMS 5.0 源码解析:登录_第11张图片

6、登录验证

通过代码跟踪到:AdministratorDao.cs文件:


SiteServer CMS 5.0 源码解析:登录_第12张图片

从上图可以看到,除了正常的用户名是否存在的验证之外,还得验证帐号状态是否正常(被锁定),除此之外还得检测系统是否启用了登录失败次数锁定功能:


SiteServer CMS 5.0 源码解析:登录_第13张图片

这段代码对应的后台配置就是:


SiteServer CMS 5.0 源码解析:登录_第14张图片

最后才是密码验证,通过代码跟踪还能发现,有密码加密的方式叫明码:


SiteServer CMS 5.0 源码解析:登录_第15张图片

也就是说,以后如果万一忘记了管理员密码,可以通过修改表bairong_Administrator的PasswordFormat字段值来实现重置密码。只需要把PasswordFormat的值得改成Clear,表示Password值就是未加密的明码。

开心一笑

老王给媳妇打电话,却传来一个男人急促呼吸的声音,老王生气的说:你是谁啊?我媳妇呢?然后那男的说:我是抢手机的,你媳妇在我后面追的了,先不聊了,你媳妇加速了。

你可能感兴趣的:(SiteServer CMS 5.0 源码解析:登录)