二次开发

提示:文档中心正在完善中,我们将不断发布新文档,敬请期待...

源码解读之登录

一、资源信息

1、页面访问地址:http://xxxx /siteserver/login.aspx;

2、aspx页面地址:\source\SiteServer.Web\SiteServer\ login.aspx;

3、C#代码地址:\source\SiteServer.BackgroundPages\PageLogin.cs

1.png

二、重点源码详解

1、页面是否允许访问


1.png

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

1.png


从上面代码可以看到,IsAccessable为否且不是管理员登录,则IsForbidden会被设置成true,从而使得本页面无法访问,跳向登录页面。

所以如果想控制某个页面不需要登录就可以访问的话,则把IsAccessable如果设置成true即可,否则页面就必须管理员登录后才能访问。

2、显示错误信息


1.png

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

1.png


显示的效果如下:

1.png


3、系统黑白名单

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

1.png


ConfigManager.SystemConfigInfo.RestrictionType对应的就是:


1.png

ConfigManager.Instance.RestrictionBlackList对应的就是:


1.png

ConfigManager.Instance.RestrictionWhiteList对应的就是:

1.png

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


1.png

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

1.png

1.png



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

5、是否启用验证码


1.png

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

1.png

1.png



从以上代码可以得知,是否启用验证码是在

/SiteFiles/Configuration/Configuration.config文件中的配置,如下图:

1.png


6、登录验证


1.png

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

1.png


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

1.png


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

1.png


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

1.png


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