网站首页 > 技术文章 正文
Web应用程序,用户登录操作是其基本功能之一。通过用户登录机制的设计,保证程序使用的安全与用户身份的合法性。本文主要结合实际案例对MVC4模式下用户登录功能设计与实现进行说明。
前端设计
本例登录页面主要借助之前使用Pure框架技术开发的前端页面,在前端页面模板基础上,使用Pure-Form表单样式进行了登录页面及登录表单设计。前端登录页面设计效果如下图所示:
前端登录表单设计样式描述如上图所示,主要表单元素为登录名称、登录密码、登录状态。登录窗口提供记住登录状态功能。选中该选项,下次运行时会自动显示登录名称与登录密码。表单部分设计代码描述如下图所示:
控制器设计
在完成前端设计之后,可以对Web服务器端进行编程与实现。其中登录求请求单独定义控制器LoginController实现接收前端登录请求。该控制器提供两个主要方法,分别为显示登录页面方法与登录检验方法。控制器定义描述如下图所示:
用户登录功能模块控制器基本定义描述如上图,其中index方法用于实现登录页面展示。doLogin方法用于实现登录业务处理。其中index方法需要对cookie进行判断,如存储cookie对应值则自动填写用户姓名与用户密码,实现记住密码功能。doLogin方法在处理登录操作时,需要获取表单填写的信息,并对记住密码进行客户端cookie的存储。
控制器方法的实现
控制器基本定义设置描述如上图,其中index主要用于展示登录页面,核心操作为判断是否已经通过cookie在客户端进行用户登录名称与登录密码的存储。index方法实现代码描述如下图所示:
LoginController控制器下index页面展示方法描述如上图所示,通过Request.Cookies检查客户端存储信息,如存在则通过ViewData传递给View视图,直接输出显示,并设置复选框为循环中checked状态。
doLogin方法主要用于实现处理登录请求,基本思路为获取登录页面传递参数值,构造查询语句,实现对登录信息表进行查询,如果存在记录则表明用户登录身份合法,再判断用户是否选择记住密码。如选择,则将密码与用户名写入客户端cookies。否则检查客户端Cookie并删除。登录成功跳转到成功页面进行下一步操作,否则给出登录错误提示信息,并返回信息填写页面。doLogin方法实现代码描述如下图所示:
数据查询及结果判断代码描述如上图所示,其中getRecordCount为获取查询结果记录集条数,如存在记录则返回bool。当复选框状态未选中则执行Cookie写入操作。上图设计有效时间为7天。当用户未选择使用记住密码功能时,需要使之前Cookies失效。失效实现代码描述如下图所示:
最后针对登录数据库数据查询失败的情况进行处理,给出提示信息并返回登录页面,实现代码描述如下图。
实施效果
编写程序完成可进行页面的调试运行,当用户选择记住密码登录操作之后,下次再打开登录窗口,其用户名,登录状态等会自动显示。运行效果如下:
登录失败页面运行效果如下图:
登录成功之后本文仅展示跳转到新的页面,该页面还未进行设计。效果如下图:
以上给出MVC设计模式下,使用ADO.NET 、Cookies等进行了登录页面设计与开发。本例提供完整代码,如需要,请关注后私信。
本头条号长期关注编程资讯分享;编程课程、素材、代码分享及编程培训。如果您对以上方面有兴趣或代码错误、建议与意见,可在评论区回复。更多程序设计相关教程及实例分享,期待大家关注与阅读!相关文章链接如下:
猜你喜欢
- 2024-11-24 测试开发基础,教你做一个完整功能的Web平台之登录认证
- 2024-11-24 iframe嵌入页面实现免登录
- 2024-11-24 用Java三层架构写一个登录案例
- 2024-11-24 带你掌握springboot集成SpringSecurity认证授权
- 2024-11-24 .NET云原生应用实践(五):使用Blazor WebAssembly实现前端页面
- 2024-11-24 我觉得再没有登录页卷的啦,简单需求非要惊艳效果
- 2024-11-24 一步步使用SpringBoot实现登录和用户管理功能源码分享
- 2024-11-24 登录页漂亮不漂亮,来走两步。
- 2024-11-24 再来一波登录页,就这个样被征服了。
- 2024-11-24 自定义 WordPress 登录以回复链接及文字
你 发表评论:
欢迎- 07-10Oracle 与 Google Cloud 携手大幅扩展多云服务
- 07-10分享收藏的 oracle 11.2.0.4各平台的下载地址
- 07-10Oracle 和 Microsoft 推出 Oracle Exadata 数据库服务
- 07-10Oracle Database@Azure 推进到南美等新区域并增加了新服务
- 07-10Oracle宣布推出 Oracle Database@AWS 的有限预览版
- 07-10Oracle与Nextcloud合作,推出主权云上的安全协作平台
- 07-10NodeRED魔改版连接MsSql、PostgreSQL、MySQL、OracleDB存储无忧
- 07-10对于企业数据云备份,“多备份”承诺的是成本更低,管理更高效#36氪开放日深圳站#
- 601℃几个Oracle空值处理函数 oracle处理null值的函数
- 593℃Oracle分析函数之Lag和Lead()使用
- 581℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 578℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 573℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 566℃【数据统计分析】详解Oracle分组函数之CUBE
- 552℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 547℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
-
- Oracle 与 Google Cloud 携手大幅扩展多云服务
- 分享收藏的 oracle 11.2.0.4各平台的下载地址
- Oracle 和 Microsoft 推出 Oracle Exadata 数据库服务
- Oracle Database@Azure 推进到南美等新区域并增加了新服务
- Oracle宣布推出 Oracle Database@AWS 的有限预览版
- Oracle与Nextcloud合作,推出主权云上的安全协作平台
- NodeRED魔改版连接MsSql、PostgreSQL、MySQL、OracleDB存储无忧
- 对于企业数据云备份,“多备份”承诺的是成本更低,管理更高效#36氪开放日深圳站#
- 解读丨《归档文件整理规则》— 电子文件元数据存储
- Data Guard跳归档恢复的实践(dataguard failover)
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (57)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)