目录
利用浏览器提供的摄像头访问能力,给web应用增加一个人脸登陆功能,感觉瞬间提升了逼格!
前台采用vue提供: 人脸注册、人脸登陆,扫码登陆功能。
后端使用python提供: 人脸识别、特征提取、特征编码、注册入库,特征匹配、人脸登陆等功能
前期准备相关文章:
Ubuntu 安装MySQL8 解决配置lower_case_table_names=1后启动失败
【已解决】Could not build wheels for dlib, which is required to install pyproject.toml-based projects
1、用户人脸表设计
DROP TABLE IF EXISTS `system_user_face`;
CREATE TABLE `system_user_face` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
`user_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '用户ID',
`alias` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '用户别名',
`encoding` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0' COMMENT '人脸编码',
`creator` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updater` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP(0) COMMENT '更新时间',
`deleted` bit(1) NOT NULL DEFAULT b'0' COMMENT '是否删除',
`tenant_id` bigint(20) NOT NULL DEFAULT 0 COMMENT '租户编号',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 15 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci COMMENT = '用户人脸' ROW_FORMAT = Dynamic;
2、人脸注册
登陆后,点击【个人资料】,选择【人脸登陆】面板,然后点击【新增】,系统弹出如下【人脸注册】对话框,按照提示,依次完成【拍照】、【注册】动作即可。

3、人脸登陆
进入登陆界面,选择【人脸登陆】,勾选同意隐私协议后,点击【开始人脸检测】,如果匹配到数据库中的人脸特征就会返回登陆成功,完成登陆。

4、扫码登陆
点击右边的【扫一扫】图标,显示手机人脸登陆二维码如下。

手机扫码后出现如下左图登陆提示。
点击【取消】,放弃登陆;
点击【确定】,对准人脸完成登陆后,PC端检查到登陆成功后会获取登陆信息,跳转到首页。


862

被折叠的 条评论
为什么被折叠?



