【产品设计】登录功能设计逻辑解析

news2025/5/20 1:57:01

登录功能是每个产品的基础功能,用户已经习以为常了,但对于产品经理来说,这是打开用户通往产品世界大门的“钥匙”,需要好好设计。

在这里插入图片描述
在用户看来,登录像是一个一次性的功能,很多 APP 在手机上登录过一次之后,在下一次换手机之前,都不会再看到登录页面。

对于用户而言,登录功能是“平平无奇”的,但产品经理却不这么认为。

一、同样的一把锁,有的人选择装在入户门上,有的人选择装在房间门上

目前登录功能的放置逻辑有两种主流的设计:登录前置和登录后置。

登录前置是指用户打开应用时,应用会要求用户先进行登录,登录成功后,才允许用户访问资源。
在这里插入图片描述
这种逻辑就好像将锁装在入户门上,要想进入房子,需要先打开入户门上的锁。代表的应用有微信、支付宝等。

登录后置是指用户打开应用时,可以访问应用的部分资源,当用户访问需要账号权限才能访问的特定资源时,才要求用户登录。
在这里插入图片描述
这种逻辑就像将锁装在房间门上,你可以随意进入房子,但是想要进入房间,则需要先打开房间锁。代表的应用有抖音、淘宝、京东等。

登录前置还是后置,主要看“资源”。

如果应用的资源基本都是属于“隐私资源”,则需要将登录前置,比如微信、支付宝等,访问的资源基本都是社交、聊天、支付等隐私信息,所以会采用登录前置的设计,就好比你家客厅放着电视沙发电冰箱,你最好给你的入户门上把锁。

如果应用的资源多数是属于“公开资源”,则可以将登录后置,比如抖音、淘宝、京东等,访问的资源都是短视频、商品等,这些都是可以公开访问的资源,只有当你想查看自己的订单或收藏等,涉及到自己的“隐私资源”时,才会要求登录,就好比你家里客厅空空如也,贵重物品都放在房间里,或许你可以做到夜不闭户,但是房间门你确定不上一把锁吗?

二、开锁的时候再来配钥匙

相比以前的账号密码登录,现在应用的主流登录方式变成了验证码登录和第三方授权登录,这样的登录方式弱化了注册的概念。

一般在登录的时候,如果账号不存在,系统会自动注册一个新的账号,这个注册过程对用户而言是无感的。这就好比要开锁的时候,发现没有钥匙,以前的方式是让你跑到另外一个地方配一把钥匙,再跑回来开锁,现在是当场就给你配一把钥匙,直接开锁。

手机验证码已经变成大多数平台首选的登录方式。
在这里插入图片描述
有的应用依旧保留了账号密码登录的设计,如果用户首次登录是用手机验证码登录的话,则会出现一个问题,就是新注册的账号没有密码,针对这种情况,一般有3种解决方案:

1、在设置中增加设置密码的入口,如果账号没有密码,则显示入口,如果用户已经设置了密码,则可以将该入口改为修改密码的入口。

2、调整注册流程,在注册账号时增加设置密码的功能。
在这里插入图片描述
3、在使用账号密码登录的时候进行判断和处理,这种就比较复杂了。

首先要在登录时进行校验。

在这里插入图片描述
然后还需要增加一个未登录状态下设置密码的流程。
在这里插入图片描述
也有用户不喜欢接收短信验证码等待的那几秒钟,从而选择第三方授权登录。

授权登录会跳转到第三方应用,由用户点击同意授权,授权成功后获得第三方应用分配的“用户 ID”,系统再将取得的用户 ID 在系统中查找是否有绑定的账号,如果没有绑定账号,则说明之前用户没有使用该 ID 授权登录过,则可以创建新账号并绑定 ID。

在这里插入图片描述
这种方式带来的问题比手机验证码更多,账户只能拿到一个第三方的用户 ID,这次不止没有密码,连手机号都没有了。如果用户下次换成手机验证码登录,这个时候就会再注册一个账号,两个账号数据是隔离的,这个对用户来说无疑是一种困扰。

因此,除了那些只支持第三方授权登录的平台,凡是通过第三方授权登录成功的,如果账号还没有绑定手机号,一般都会要求绑定。

在这里插入图片描述
当然,如果是新注册的账号,你也可以在绑定手机号之后再要求用户设置密码,但是这个操作对用户来说太过繁琐,一般都会舍弃这个环节。

三、以锁解锁

世界上有一种最难解决的问题,叫做——历史遗留问题。

产品的形成是迭代的结果,在不同的阶段会呈现不同的形态,但这些形态不总是兼容的。可能在某个阶段,产品的登录是以手机验证码为主,到了某个阶段变成了以第三方授权登录为主,前期他们可能是独立的,不同的登录方式会注册为不同的账号,等到了某个阶段,要将这两种方式融合的时候,这才发现问题来了,一个已经有数据的第三方授权登录账号要绑定一个已经有数据的手机验证码登录账号,这个时候就冲突了。

这就好比一个门只能上一把锁,此时你手里有两把锁,你的意图是将两把锁都上上去,这个时候就冲突了。这个时候只能“以锁解锁”,这个不是什么高深的理论,说白了,遇到这种情况,你要么轮流使用两把锁,要么主动放弃一把锁,或被迫放弃一把锁,只使用其中一把锁。

从产品上而言,就是用户可以选择不将第三方账号绑定到这个手机号,还是两个账号,分开使用,如果一定要将第三方账号绑定到这个手机号,系统则只能要求你注销其中一个账号,只保留一个账号。

用户可能是在登录时使用第三方授权登录,被要求绑定手机号,结果手机号也注册了账号。
在这里插入图片描述
也有可能是在已经绑定了手机号的账号内绑定第三方账号,或在已经绑定第三方的账号内绑定手机号发现账号冲突,基本思路都是相同的,都是要求注销其中一个账号,只保留一个账号,保留的账号就可以同时绑定手机号和第三方账号。

为什么要做这么“极端”的设计呢,主要是因为两个账号都有数据,如果不注销其中一个,强行合并两个账号数据,有些数据就会产生冲突。

举个例子,假设我要合并两个账号,类似订单这些数据是可以合并到一起的,但是如果是类似头像、昵称等等这些信息,一个账号不能同时存在两份信息,只能保留一份,那到底要保留哪个账号的呢。

或许你认为可以将能合并的数据进行合并,不能合并的数据让用户选择保留其中一个账号的,这种理论上是可行的,但是后续每开发一个跟账号有关的功能,都得考虑哪些数据可以合并,哪些数据得放弃合并,成本太高,远不如让用户注销其中一个账号来的经济。

所以,对用户来说平平无奇的登录功能,其实正是产品经理打开用户通往产品世界大门的“钥匙”。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/414032.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux学习记录——십구 构建进程间通信的信道方案

文章目录1、进程间通信介绍1、目的2、发展2、管道1、原理2、简单模拟实现3、总结3、匿名管道——控制进程4、命名管道1、原理2、模拟实现1、进程间通信介绍 之前所学都是单个进程,多个进程之间如何运转? 1、目的 数据传输:一个进程需要将它…

SpringSecurity之基本原理——过滤器链

前言 前面我们讲解了入门案例,很多小伙伴看完之后,应该也不知道他是如何实现的拦截。接下来,我们看一下SpringSecurity的基本原理是什么? 本质 其实,SpringSecurity的本质上就是一个过滤器链。在启动时,…

我的面试八股(JVM篇)

谈一谈Java内存区域和Java内存模型的理解? / Java内存区域和Java内存模型是一个东西吗? Java内存区域和Java内存模型不是一个东西!!!!! Java内存区域,也就是Java运行时数据区域。是…

Typora自定义主题分享 (Mac风、图片立体感...)

MarkDown 主题分享 文章目录MarkDown 主题分享Ligth-浅色主题主题效果展示安装方式Dark-深色主题主题效果展示安装方式关键字:Typora 、Mac、图片阴影、代码样式、表格 Ligth-浅色主题 主题效果展示 安装方式 下载 Typora 官网 Mo主题 下载地址将Mo.css样式修改为…

Docker容器部署

Docker容器1.Docker概念1.1.什么是Docker1.1.1.应用部署的环境问题1.1.2.Docker解决依赖兼容问题1.1.3.Docker解决操作系统环境差异1.1.4.小结1.2.Docker和虚拟机的区别1.3.Docker架构1.3.1.镜像和容器1.3.2.DockerHub1.3.3.Docker架构1.3.4.小结1.4.安装Docker2.Docker的基本操…

【无人机】采用最基本的自由空间路损模型并且不考虑小尺度衰落(多径多普勒)固定翼无人机轨迹规划(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

每日刷题记录(十四)

目录第一题:子集解题思路:代码实现:第二题:组合解题思路:代码实现:第三题:全排列解题思路:代码实现:第四题:全排列II解题思路:代码实现&#xff1…

2023年4月传统行业产品经理需要考NPDP吗?含金量高吗?

产品经理国际资格认证NPDP是新产品开发方面的认证,集理论、方法与实践为一体的全方位的知识体系,为公司组织层级进行规划、决策、执行提供良好的方法体系支撑。 【认证机构】 产品开发与管理协会(PDMA)成立于1979年,是…

Linux内存管理(七):fixmap详解

源码基于:Linux 5.4 约定: 芯片架构:ARM64 CONFIG_ARM64_VA_BITS:39 CONFIG_ARM64_PAGE_SHIFT:12 0. 前言 内核启动首先会进入汇编阶段,mmu已经启动 (也就是说,当前SOC只能使用虚拟地址访问RAM),paging_init还没有完成调用,在内核启动过程需要访问某些特定的内核模…

SQL综合查询上

目录1、查询输出“高等数学”课程成绩前三名(不考虑成绩有重复值的情况)的学生的学号,姓名,课程名,系名,成绩。题目代码2、统计各门课程的重修人数(包括grade为NULL),要求…

体验了一把ChatGPT4

不得不说ChatGPT对我的学习效率有极大的提升,它就像一位老师,不管有什么问题,都可以得到很好的答案。但是前段时间gpt3.5账号被封了,最近搞了个gpt4。市面上目前好像没啥可以白嫖的账号,基本都是免费使用几次&#xff…

C++11新特性有效总结

目录 语言可用性加强 (读现代C教程有感) nullptr constexpr if/switch 申明强化 (C17开始) 初始化参数列表 范围for迭代 两种类型推导方式 变长参数模板 SmartPointer Lambda 多线程 (并发与并行) 并发与并行的概念 C11中的并发并行 软件…

基于单片机的温室大棚环境监测系统设计

温室大棚对北方反季节蔬菜的种植具有重要意义。据了解全国各地温室大棚使用集中,但是大棚环境调控方式落后、管理落后、生产效率比较低。针对此问题本文提出了一种基于STM32单片机智能温室大棚控制系统方案,实现环境参数的自动检测,以达到智能…

C语言从入门到精通第2天(深度解析C语言数据类型及取值范围)

C语言基本数据类型及取值范围数据存储概述基本数据类型整型数的二进制表示浮点型数的二进制表示取值范围数据存储概述 C语言的变量有着不同的数据类型,每种数据类型的取值空间都是不同的,因此,不同数据类型的变量,其取值空间也不…

利用注解和反射解决代码冗余问题(改进版)

在优化代码的时候发现,传参存在着高度冗余,如果后面需要改参数,很不方便。 String pam1 "id" appKey "&sign" sign "&method" method "&access_token" token "&times…

光隔离器的工作原理及其应用

光隔离器也称为光隔离器或光耦合器,它是一种通过使用光将电信号或电压从一个电路传输到另一个电路的装置,同时它将两个电路彼此隔离。它可以通过隔离过压信号来防止高电压或快速变化的电压损坏组件。光隔离器可以承受高达10KV的输入至输出电压和高达10KV…

html+css+JavaScript+json+servlet的社区系统(手把手教学)

目录 课前导读: 一、系统前期准备 二、前端代码的编写 三、登陆页面简介 四、注册页面 五、社区列表页 六、社区详情页 七、社区发帖页 八、注销 九、访问链接 登陆页面http://175.178.20.77:8080/java106_blog_system/login.html 总结: 课前…

HTML5 <embed> 标签、HTML5 <figcaption> 标签

HTML5 <embed> 标签 实例 被嵌入的 flash 动画片&#xff1a; <embed src"helloworld.swf">尝试一下 浏览器支持 注意: 大多数现代浏览器已经弃用并取消了对浏览器插件的支持&#xff0c;所以如果您希望您的网站可以在普通用户的浏览器上运行&#xf…

【SpringCloud系列】开发环境下重写Loadbalancer实现自定义负载均衡

前言 spring-cloud-starter-netflix-ribbon已经不再更新了&#xff0c;最新版本是2.2.10.RELEASE&#xff0c;最后更新时间是2021年11月18日&#xff0c;详细信息可以看maven官方仓库&#xff1a;https://search.maven.org/artifact/org.springframework.cloud/spring-cloud-st…

【计算机图形学】裁剪算法(逐边裁剪法 Weiler-Atherton裁剪法)

一 实验目的 编写直线段、多边形裁剪算法熟悉逐边裁剪法、Weiler-Atherton裁剪法的使用 4&#xff1a;用逐边裁剪法实现多边形裁剪&#xff08;代码最上方功能区注明是否处理退化边&#xff09; 无退化实验结果如下图所示&#xff1a; 图形初始化&#xff1a;&#xff08;红色…