构建NetCore应用框架之实战篇(五):BitAdminCore框架1.0登录功能设计实现及源码
本篇承接上篇内容,如果你不小心点击进来,建议从第一篇开始完整阅读,文章内容继承性连贯性。
一、设计原则
1、继承前面框架架构思维,设计以可读性作为首要目标。
2、技术架构上共分四层,分html层、controller层、helper层、db层,另外还有ef。
3、所有业务逻辑均在controller层实现,helper只做一些与业务无关的技术封装。
二、模块设计
1、html层:包括login,html,index.html两个页面。
2、controller层:AccountController封装所有与登录权限有关的方法。
3、helper层:LogHelper,SqlHelper,EncryptHelper,SSOClient,VerificationCode,HttpContext等方法。
大致分层架构
三、函数设计
1、重点讲一下SSOClient,封装登录过程相关信息。
2、SSOClient主要函数有IsLogin,Validate,SignIn,SignOut
3、SSOClient主要属性有UserId,User,Department,Roles
把登录过程封装,是为了提升扩展性,把登录抽象为一般较验、用户较验、登录三个环节,可以轻易接入外部登录。
当需要使用第三方登录时,只需要重写Validate即可。
4、AccountController包括以下函数:VerifyCode,Login
5、其它方法为辅助方法,可以查看代码调用链即可。
功能设计太复杂,文字介绍不清楚,还是直接看代码吧。一个登录功能看起来简简单单,实际上把该用的基本上都用上了。
四、源代码
本篇源码已经上传到GitHub上,本章内容在v1001分支上,Master不解释。进入源码
1、从Git上拉取分支v1001代码.
2、本地新建数据库
3、执行建表和数据脚本
4、运行
到此为止,框架的雏形已经基本形成,接下来会用两篇的内容进行总结。其中一篇总结整体架构,一篇重点讲源码结构。