[电子商务网站设计] 之 Passport

Notion卡顿救星:3分钟搞定DNS优化,手机电脑全平台加速指南 本文针对Notion访问慢和卡顿问题,提供了全平台DNS优化与Hosts文件修改的详细指南。通过更换优质DNS服务器或建立静态IP映射,可有效解决因网络延迟和域名解析导致的加载缓慢,实现手机与电脑端的快速加速,提升Notion使用流畅度。 阅读详情

 

[电子商务网站设计] 之 Passport

从所承担的功能上来说,Passport 是一个系统级别的服务,而不仅仅用来进行用户管理。对于任何一个网站而言,随着业务的发展,多业务的网站群整合不可避免,那么作为整合的通道之一,用户数据共享自然就是一个关键点。

Passport 在设计之初就应该独立于业务逻辑。一般情况下它担负如下任务:

1. 用户统一注册、管理。提供页面或者相关接口供其它业务站点调用。
2. 单点登录 (Single Sign On)。为多个站点共享登录票据,实现站点群之间的无限漫游。
3. 提供用户角色管理。这个角色后台管理员角色有所不同,它无需权限管理,仅用来区分用户的 VIP 级别。
4. 用户活跃度跟踪管理。定期清理和提醒睡眠账号对于网站而言也是非常重要的。

下图是一个简单的 Passport 架构设计

uploads/200608/21_153515_passport.png


1. 将用户分为 UserBase、User 两个类,因为多数时候我们只需获取用户基本信息即可。
2. Passport、Roles 采取静态类设计,封装了所需的全部方法。
3. Passport.Web 封装 SSO 的相关操作。
4. 采取 IoC 体系,便于升级和数据库迁移。

另外,在用户标识设计上,建议采取"内部ID"和"外部ID"两种方式。

如:
public class UserBase
{
  public Guid Id { get; }
  
  public string Username { get; set; }
}

"内部ID"采取GUID表示其唯一性,由系统注册用户账号时自动生成,所有与Passport关联的业务逻辑都是用该ID作为用户唯一识别符号。而"外部ID"—— Username,则是"内部ID"的一个助记符,一般是用户注册时输入的个人用户名,多使用电子邮件账号。用户使用"外部ID"进行注册、登录、找回密码等操作。如此设计的好处就是用户可以随时更改其 Username。在由于离职等原因造成用户更换邮箱时,能更换新的用户名就显得设计上的人性化了。当然,在数据库中Username也应该是唯一,不可重复的。
DataGridView 右键菜单复制(公共) dataGridView1.CellMouseClick += new DataGridViewCellMouseEventHandler( (sender1, e1) => { if (e1.Button == MouseButtons.Right) { 阅读详情

相关推荐

寻迹Arduino智能小车

Arduino巡线寻迹智能小车

Rachael_Wang的博客 9982

passport通行证设计一例

写得比较粗糙,未打草稿,有不到之处,请原谅。新单位上班,第一份差事就是几个网站的整合。会员数据大概有120w左右。分别来自不同的数据库,怎么整合这些资源及处理passport问题,着实让我郁闷了好久。经过N根头发的脱落痛苦挣扎之后,终于拟定处理方案。首先,做会员整合设计。考虑到百W级的用户库极有可能存在着用

3563

win11系统ping另一台电脑上VMware虚拟机的IP

我是用了两台电脑,所以刚才遇到一个问题就是两台电脑的IP 在同一局域网内ping不通。于是就找了很多资料,经过坚强的绝望后终于解决了。 下开始解决问题: VMWare提供了三种工作模式:bridged(桥接模式)、NAT(网络地址转换模式)和host-only(主机模式)。 1. bridged(桥接模式)   在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立主机,它可以访问网内任何一台机器。在桥接模式下,你需要手工为虚拟系统配置IP地址、子网掩码,而且还要和宿主机器处于同一网段,这样虚

qq_42817360的博客 3236

网站的 Passport 实现

第一个问题:   用户的信息的处理.Passport 服务器来处理这些信息,当然了只会是一些简单的用户信息. 比如说性别,电话等 第二个问题:    Passport 服务器与 应用程序之间的数据交换. 看了 MS 的Passport SDK ,发现远没有我们想象的简单.MS 使用了COM 与 Passport 服务进行数据交流, 我们在短时间内也不太可能编写一个 COM 组件来处理.

421

Bybit面经

这段总结描述了求职者在Bybit面试过程中的经历和相关问题,包括面试内容、求职者向面试官提问的问题以及关于Bybit的信息

郑泽洲的博客 2580

FPGA编译加速实战:6大可落地的Vivado优化策略

FPGA编译本质上是NP-hard约束满足问题求解,而非传统软件编译;Vivado作为时序驱动的硬件实现工具链,其耗时瓶颈集中在Implementation阶段的布局布线(PnR)与逻辑优化。理解这一原理,才能跳出‘加线程’‘升版本’等表面优化,转向精准时序约束、增量编译、物理锚点控制、IP配置精简等工程级干预。这些技术手段直接作用于Vivado的Tcl执行流与底层求解空间,显著压缩搜索范围、减少无效迭代——尤其适用于Zynq/UltraScale等中大型项目(LUT > 80K、多时钟域、DDR/PCIe

weixin_34226182的博客 413

统一登录passport介绍

前一段时间,因为在开发中使用到公司的统一登录平台passport,所以就自己找了很多资料,详细的学习了一下它们的原理以及实现过程,这里就着重分享一下“跨域共享cookie和跨域共享session”。 场景:公司所有登陆都走的是统一一套pass环境,passport使用的就是cookie和session技术,来作为跟踪保存用户信登陆息的。 这里有一个问题,比方说,公司的pass种cookie的时候,...

前端精髓 6173

csp-j/s

CSP-J/S 是中国计算机学会(CCF)主办的 ‌‌(Certified Software Professional Junior/Senior),是信息学奥赛(NOI)体系的入门级选拔考试,也是国内最具权威性的青少年编程能力认证之一。

gxyxxrYYDS的博客 2027

58 同城移动端 Passport SDK 的设计与技术细节

【导读】58 赶集集团旗下拥有多个 App,且全部使用同一套账号体系,通过 Passport 部门提供的接口进行通信。经过多年迭代,各个 App 中关于 Passport 的功能均出现了一些流程和接口上的差异。为了提高账号安全,统一服务接口和流程,提高用户体验,由此决定开发了一个 Passport SDK,以集成 Passport 的相关功能,并提供给集团内各业务 App 使用。 在项目开始...

历史上的今天 1430

LM Studio中文版零基础入门:从安装到模型下载的保姆级教程(附国内镜像源配置)

本文提供LM Studio中文版的零基础入门教程,涵盖从软件安装、中文界面切换到国内镜像源配置的全流程。特别针对模型下载速度慢的问题,详细介绍了如何通过修改配置文件使用国内镜像站,并推荐适合新手的入门模型及硬件配置建议,帮助用户快速上手本地大模型运行。

pz890123456的博客 2587

提升ARM Cortex-M系统性能的关键技术:TCM技术解析与实战指南

TCM技术为ARM Cortex-M处理器提供了宝贵的确定性性能提升手段,特别适合对时序敏感的实时应用。通过合理配置和优化,工程师可以显著提高系统性能、降低中断响应时间并优化功耗。随着嵌入式系统对实时性要求的不断提高,TCM技术将在工业控制、汽车电子、医疗设备等领域发挥更加重要的作用。未来,ARM处理器可能会进一步扩展TCM容量并优化其与其他内存子系统的协同工作方式,为开发者提供更强大的实时性能保障。

1678

Passport 你的网站(在你的WebSite上实现MS Passport )上

Passport 你的网站 (上)        -------(在你的WebSite上实现MS Passport )小气的神  2001-11-12 Article Type: In-Depth              难度等级:4/9        版本:1.01 Passport 最早出现在1999年,当时只是为满足MS收购HotMail后作为邮

ccBoy的专栏 3198

手把手入门YOLO到改进优化教程 | 【P5进阶篇】YOLOv8损失函数改进实战-损失函数IoU之KLD Loss

在本节,将从 KLD Loss(Kullback–Leibler Divergence Loss)的理论到实战代码实现,带你把 KLD Loss融合进 YOLOv8 的训练框架中。并通过训练日志与实验结果,验证 KLD Loss 在实际工程中的优势。

嵌入式阿齐Archie 2万+

Passport

Microsoft Passport 使用条款和通告用户与微软公司之间的协议Microsoft Passport 是由微软公司(简称“微软”)运行的一种 Web 服务,该服务会使您登录到网站以及执行电子商务交易的过程变得更加简便。Passport 当前包括多用途验证服务(简称“Passport 单一登录”)、专门面向儿童的验证服务(即“Kids Passport”,当前仅适用于美国

^V^ 1807

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

使用Passport和Express轻松实现Facebook登录功能

使用Passport和Express轻松实现Facebook登录功能 这篇推荐文章将引导您了解一个开源项目,该项目展示了如何通过Express 4.x 和 Passport 实现用户通过Facebook进行身份验证的快速入门示例。这个项目不仅易于上手,而且是一个强大的起点,适合任何想要在自己的Web应用程序中添加Facebook登录功能的开发者。 项目介绍 这个开源项目提供了从头开始构建的一个基础...

gitblog_00073的博客 948

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

推荐开源项目:Angular-Passport - 基于AngularJS和Passport的全栈应用模板

推荐开源项目:Angular-Passport - 基于AngularJS和Passport的全栈应用模板 1、项目介绍 Angular-Passport 是一个强大的全栈Web应用示例,它结合了AngularJS、Express、Passport以及MongoDB的强大功能。该项目不仅提供了一个完整的身份验证系统,还展示了如何创建和管理用户账户,以及CRUD(创建、读取、更新、删除)博客文章。通...

gitblog_00047的博客 363

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

推荐项目:MERN + Passport.js —— 基于身份验证的MERN栈应用实例

推荐项目:MERN + Passport.js —— 基于身份验证的MERN栈应用实例 1、项目介绍 该项目是一个采用MongoDB、Express、React和Node.js(简称MERN)构建的应用,并结合Passport.js进行身份验证管理。其源代码基于Facebook Incubator的Create React App脚手架,旨在提供一个简洁而实用的身份认证解决方案。 2、项目技术分析...

gitblog_00073的博客 358

单点登录技术:微软Passport单点登录协议和自由联盟规范

原文地址:http://www.poluoluo.com/jzxy/201109/142060.html              随着互联网络应用的普及,越来越多的人开始使用互联网上提供的服务。然而目前提供服务的网站大多采用用户名、口令的方式来识别用户身份,这使得用户需要经常性的输入自己的用户名、口令。显然这种认证方式存在着弊端:随着用户网络身份的增多,用户相应的需要记忆多组用户名、口令

云枫的专栏 8261

Passport脱胎换骨 微软Live ID能否走遍天下

微软在2008年10月27日宣布,Windows Live ID服务将支持互联网产业的OpenID数字认证框架协议。这意味着普通网民今后只要注册一个微软Live ID网站,就可以登录全球所有支持OpenID协议的网站。在此之前,微软已经在自身提供的各种Web服务中统一了Live ID的使用,笔者参加此次PDC 2008会议也是通过Live ID注册。PDC2008大会上微软还...

weixin_34390996的博客 133

java 护照验证_网站护照–通过可信的外部验证获得即时信誉

java 护照验证 什么是网站护照? (What are Website Passports?) Phishing attacks and identity theft are an ever-increasing threat online especially with online websites passing off to be a legitimate organisatio...

culu1614的博客 543

开源项目 `reauthenticate` 使用教程

开源项目 reauthenticate 使用教程 项目介绍 reauthenticate 是一个用于实现用户重新认证功能的 Laravel 包。在用户执行敏感操作时,如修改密码或支付操作,该包可以确保用户重新输入密码进行认证,从而提高应用的安全性。 项目快速启动 安装 首先,通过 Composer 安装 reauthenticate 包: composer require mpociot/reau...

gitblog_00952的博客 932

探索 `passport-strategy`:构建灵活的认证策略

探索 passport-strategy:构建灵活的认证策略 在现代Web应用中,用户认证是一个核心功能,而passport-strategy项目为开发者提供了一个强大的基础,用于创建和实现自定义的认证策略。本文将深入介绍passport-strategy项目,分析其技术特点,探讨应用场景,并总结其独特之处。 项目介绍 passport-strategy是一个抽象类,实现了Passport的策略A...

gitblog_00117的博客 627

【亲测免费】 推荐项目:NodeShop - 一个基于Node.js的电商系统

推荐项目:NodeShop - 一个基于Node.js的电商系统 1、项目介绍 NodeShop是一个以Node.js为后端核心的电子商务平台,采用Express作为框架,Jade负责视图渲染,并利用Passport进行用户身份验证。前端设计采用了强大的Bootstrap框架,提供优质的用户体验。虽然项目仍在不断开发中,但我们诚挚邀请有志之士共同参与,共同完善这个项目。 2、项目技术分析 Nod...

gitblog_00040的博客 669

推荐使用:sails-auth - Sails.js应用的用户认证系统

推荐使用:sails-auth - Sails.js应用的用户认证系统 在构建现代Web应用时,用户认证是一个不可或缺的功能。sails-auth项目为Sails.js应用提供了一个基于Passport的强大用户认证系统,使得开发者能够轻松集成多种认证策略,从而提升应用的安全性和用户体验。 项目介绍 sails-auth是一个专为Sails.js应用设计的用户认证系统,它利用了Passport这一...

gitblog_00034的博客 788
上一篇: .Net Passport认证过程[整理]
下一篇: asp.net 单点登录
webclass
博客等级 码龄19年 14粉丝 90原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值