但凡在公众网中提供服务的网站,基本上都有个用户注册,登录的过程。
所以,设计一套完善的注册登录功能是十分有必要的。
1.注册
a.为了防止用户恶意注册,一般注册需要是用户的邮箱,或者手机号,这样便可以通过发送确认链接,或者发送手机验证码的形式来验证邮箱或者手机号是否真实且属于注册用户。
b.为了防止手握大量邮箱的用户采取机器注册方式,注册页面必须有手动输入验证的方式,比如各种类型的验证码。
c.为了确认用户所输入的邮箱或者手机号是本人所有,需要通过发送到邮件里的确认链接或者手机里的验证码来验证。
2.登录
a.只有注册用户才可以登录。
b.为防止用户恶意破解,登录n次失败,需要显示验证码,然后再登录m次失败,锁定用户1分钟,一定时间内再次发生,可以逐步增加锁定时间。
c.集成第三方登录系统(微信,QQ,微博,支付宝等),并且第三方登录可以和注册用户绑定。
3.状态
根据用户的情况,可以分为以下几种状态
a.未确认:已经注册,但还未确认。
b.通常:正常使用状态。
c.一时锁定:由于用户登录失败,导致的一时锁定。
d.永久封号:根据用户的要求或者用户的恶意行为,导致的永久封号。
关于第三方登录和注册用户绑定的问题,系统内部实现,实际上就是有个用户表,还关联一个用户认证表,
用户表保存的是唯一确定用户的,而用户认证表是用户的各种认证方式,那么就会有几种情况。
1.用户先注册,登录,然后绑定第三方认证。
这种情况比较简单,因为用户表里用户还是唯一。
2.用户先用第三方认证登录,然后再添加邮箱,或者手机号。
这种情况和上面雷同,没啥区别。
3.用户也注册了,同时也用第三方认证登录了,但互相并没有绑定。
这种情况比较麻烦,也就是说,实际上用户表里已经存在了多个用户数据了,从系统上这是多个不同的用户,
那么如何合并用户,就是个大问题了。因为这可能涉及到关联表的更新,如果关联表的设计没有考虑到这种情况,更新起来会很繁琐。
相关推荐
标题 "win7sp1多用户登陆补丁,包含x86和x64" 指的是一个专门针对Windows 7 Service Pack 1 (SP1) 操作系统的补丁,该补丁允许系统支持多个用户同时登录。在Windows 7原版系统中,仅支持单个用户在同一时间进行交互...
- **权限问题**:可能与用户的家目录权限或者 `/tmp` 目录权限有关。 - **系统文件损坏**:如关键库文件或配置文件丢失或损坏。 - **环境变量问题**:可能涉及到用户的环境变量配置不正确。 - **软件冲突**:...
- Login with Amazon:这是亚马逊提供的一种身份服务,允许用户使用他们的亚马逊账户登录第三方应用。此API可能被用于实现快速、安全的一键登录功能。 标签中的“alexa”可能意味着这个apk与亚马逊的智能助手Alexa...
在IT领域,图形用户登录界面(Graphical User Login Interface,简称GULI)是软件应用中常见的一部分,它为用户提供了一种友好的交互方式来验证其身份,以便访问受保护的系统或应用资源。通常,登录界面包括用户名字...
在压缩包内,除了实际的"移动端用户登录模板"文件,还有"readme.md"文件,这个通常包含有关模板的使用说明、安装步骤、注意事项等重要信息。开发者可以通过阅读这份文档来更好地理解和应用模板。 总之,"移动端用户...
- **用户登陆.txt**:这个文件可能包含了示例代码或登录系统的详细步骤。在C#中,这可能是用纯文本表示的登录界面的代码,或者包含有关如何设置验证逻辑的指南。 - **登录验证代码**:这个文件很可能是实际的C#代码...
【标题】"用户登录注册模板html"涉及到的核心知识点主要集中在前端网页开发领域,特别是HTML(HyperText Markup Language)这一基础语言。HTML是用于构建网页结构的标记语言,它定义了网页的基本元素,如标题、段落...
虽然题目没有明确提到删除用户的功能,但`del.asp`可能与删除用户账户有关。这可能需要用户确认操作,然后执行SQL的`DELETE`语句来从数据库中移除用户记录。 七、登录失败页面(login_nook.asp、reg_nook.asp) 这...
工具VS,语言是c#,框架是Winform窗体,使用的数据库是Access,可以实现用户的登录与注册。并且管理员可以进行用户信息的修改(增删改查),修改使用了DataGridView控件,可以直接在控件上修改,并且修改成功数据表格...
在IT行业中,用户登录验证是任何应用程序的基本组成部分,它确保只有授权的用户能够访问系统资源。这个主题主要涉及Java编程语言、JavaScript以及登录验证过程。下面将详细解释这些知识点: **1. Java编程语言** ...
当用户尝试登录时,系统可能会显示错误信息:“您的登录账户有问题,请验证后再登录”。 这个“通达 2017版微信token信息变更后提示‘您的登录账户有问题,请验证后再登录’兼容包”显然是为了解决上述问题而设计的...
### JAVA登录拦截器实现原理与应用 #### 一、引言 在Web应用程序开发中,登录验证是一项重要的安全措施。为了确保只有经过身份验证的用户才能访问受保护的资源(如...希望本文能为读者提供有关登录拦截器的实用参考。
在Web开发领域,Servlet、JSP(JavaServer ...总的来说,使用Servlet、JSP和JavaBean开发用户登录注册程序,能够有效地分离关注点,提高代码的可读性和可维护性。结合MVC模式,可以构建出灵活且易于扩展的Web应用。
4. 登录状态维护:客户端应用根据登录状态调整界面,比如隐藏登录按钮,显示用户信息等。 5. 退出登录:用户可以选择退出,此时客户端应清除本地保存的Token,并更新界面状态。 在提供的压缩包中,"JavaApk源码...
总的来说,SKY免费IP配套登陆器配置器是一个实用的网络工具,集成了IP管理、登录和配置功能,特别适合需要频繁切换网络环境或依赖特定IP服务的用户。通过其简洁的操作界面和全面的功能,用户可以高效地处理网络连接...
AD是微软提出的一种目录服务,用于管理和存储有关网络资源的信息,如用户账户、计算机、打印机等。它允许用户使用单一的身份验证凭证在整个网络中进行身份验证,提高了管理效率。而LDAP是一种开放的标准,用于访问和...
标题中的“win2003远程桌面客户端支持多用户同时登陆”指的是Windows Server 2003操作系统的一个特性,即Remote Desktop Services(RDS),它允许管理员和用户通过网络访问服务器上的桌面环境。在默认情况下,...
### SQL Server 错误15404:无法获取有关 Windows NT 组/用户 #### 问题概述 在日常管理SQL Server数据库时,可能会遇到一个常见的错误——“SQL Server 错误15404:无法获取有关Windows NT 组/用户”。此错误通常...
在用户登录上下文中,可能还会看到有关如何配置验证码生成和验证的设置。 总的来说,这个项目为初学者提供了一个很好的学习机会,涵盖了Web开发中的关键概念,如用户认证、数据库交互和安全实践。通过实践这个项目...
3. accountExpires(账户到期时间):这个属性定义了用户账户过期的时间点,设置后账户将无法在到期时间之后进行登录操作。 4. accountNameHistory(账户名称历史):该属性记录了用户账户名称变更的历史信息。 5....