关于NopCommerce3.6版用户登录详解
一、登录方式
Nop登录方式有两种(且只能选择一种方式登录):一种是用用户名登录,另一种是用户注册邮箱登录,这个在后台可配置:
第一种:用户名登录

后台配置路径在商城设置à设置管理à客户设置:使用用户名登录
第二种:如果使用用户名复选框未选中的话就是使用邮箱登陆了。
二、加密方式
Nop 的用户密码加密方式有两种:

一种是Encrypt(加密),具体配置可在商城设置à设置管理à客户设置,
另一种是Hash(哈希加密),nop默认是使用哈希加密,
另外就是明文,不启用任何加密方式(如用户外部授权登录后的密码就是随机生成的明文密码,未采用任何加密)
三、用户登录
1.Nop在打开网站的时候会自动插入一个匿名用户,保存在Cookie中,保存时间为1年,并赋予guest权限用于浏览前端页面,


代码在Nop.Web.Framework的WebWorkContext.cs文件
2.用户登录验证:nop采用的是谷歌服务的验证码,这个不考虑(天朝用不到,不过没事不要开启这个验证,开启的话不但显示不了验证码,还会导致用户无法登录,除非去数据库删除验证码的有关设置),nop采用的是第三方验证工具FluentValidation作为前端的判空等其它验证,简单验证用户名和密码以及采用哪种登录方式后进入服务验证

1:判定用户是否已存在,是否已删除,是否为启用及是否未注册
2:用户密码加密方式,哈希或者Encrypt加密

CustomerLoginResults枚举类在:Libraries\Nop.Core\Domain\Customers\CustomerLoginResults.cs
Nop用了一个枚举类CustomerLoginResults作为输出用户登录的结果,这个本人挺喜欢这个方式,符合多种用户登录的可能结果判断,还可以扩展结果类型。
如果用户验证通过,则把当前用户保存在Cookie中

保存用户在cookie

该文件目录在:Libraries\Nop.Services\Authentication\FormsAuthenticationService.cs
并赋值_cachedCustomer,配合WebWorkContext上下文在整个项目提供一个CurrentCustomer使用。
这就是nop对用户登录的大概处理方式,个人拙见,还望各位看官多多包涵。其它有什么细节的事可以在群里发问或者私聊我,我会的就帮忙。(群号: 75272942)
个人联系QQ:875755898
关于NopCommerce3.6版用户登录详解的更多相关文章
- Yii2.0 用户登录详解(上)
一.准备 在开始编写代码之前,我们需要思考一下:用户登陆模块,实现的是什么功能?很明显,是登陆功能,那么,登陆需要用户名和密码,我们在数据库的一张表中就应该准备好用户名和密码的字段,再思考一下,如果要 ...
- sql server 2008 数据库管理系统使用SQL语句创建登录用户步骤详解
介绍了sql server 2008 数据库管理系统使用SQL语句创建登录用户步骤详解 --服务器角色: --固定服务器角色具有一组固定的权限,并且适用于整个服务器范围. 它们专门用于管理 SQL S ...
- C#自制Web 服务器开发:mysql免安装版配置步骤详解分享
mysql免安装版配置步骤详解分享 1.准备工作 下载mysql的最新免安装版本mysql-noinstall-5.1.53-win32.zip,解压缩到相关目录,如:d:\ mysql-noinst ...
- 分享我开发的网络电话Android手机APP正式版,图文详解及下载
分享我开发的网络电话Android手机APP正式版,图文详解及下载 分享我开发的网络电话Android手机APP正式版 实时语音通讯,可广域网实时通讯,音质清晰流畅! 安装之后的运行效果: 第一次安装 ...
- Bmob第三方登录详解
Bmob第三方登录详解 Bmob 第三方登录 简介 本文主要介绍新浪微博,QQ,微信的登录接入以及如何配合BmobSDK中的第三方登录功能实现第三方登录. 在使用之前请先按照快速入门创建好可以调用Bm ...
- Linux学习之用户配置文件详解(十四)
Linux学习之用户配置文件详解 目录 用户信息文件/etc/password 影子文件/etc/shadow 组信息文件/etc/group 组密码文件/etc/gshadow 用户信息文件/etc ...
- linux ssh使用深度解析(key登录详解)
linux ssh使用深度解析(key登录详解) SSH全称Secure SHell,顾名思义就是非常安全的shell的意思,SSH协议是IETF(Internet Engineering Task ...
- SSH免密登录详解
SSH免密登录详解 SSH(Security Shell)安全外壳协议,是较为可靠的,专为远程登录会话和其他网络服务提供安全保证的协议. 对于传统的网络服务程序(例如,FTP,Telnet等)来说 ...
- 前后端分离,简单JWT登录详解
前后端分离,简单JWT登录详解 目录 前后端分离,简单JWT登录详解 JWT登录流程 1. 用户认证处理 2. 前端登录 3. 前端请求处理 4. 后端请求处理 5. 前端页面跳转处理 6. 退出登录 ...
随机推荐
- PowerShell连接中国Azure
由于China Azure与Global Azure属于不同的服务,适用于Global Azure的命令并不完全适用于China Azure.目前,Add-AzureAccount命令地址指向Glob ...
- 剑指offer系列30-----删除链表中重复的节点
[题目]在一个排序的链表中,存在重复的结点, * 请删除该链表中重复的结点,重复的结点不保留,返回链表头指针. * 例如,链表1->2->3->3->4->4->5 ...
- 关于今天mysql数据库的一系列问题
首先,字符集的问题: mysql> show variables like 'character%';+--------------------------+------------------ ...
- 【oracle】数据库、表空间、用户、数据表之间的关系
来自为知笔记(Wiz) 附件列表 新建_032515_030437_PM.jpg
- bzoj2734 集合选数
Description <集合论与图论>这门课程有一道作业题,要求同学们求出{1, 2, 3, 4, 5}的所有满足以 下条件的子集:若 x 在该子集中,则 2x 和 3x 不能在该子集中 ...
- 导航栏4种效果---原生js
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- Redis内存使用优化与存储(转)
Redis常用数据类型 Redis最为常用的数据类型主要有以下五种: String Hash List Set Sorted set 在具体描述这几种数据类型之前,我们先通过一张图了解下Redis内部 ...
- 杀死future处理的阻塞线程
public class Test{ public static void main(String[] args){ ExecutorService pool = Executors.newFixed ...
- org.hibernate.id.IdentifierGenerationException: Unknown integral data type for ids : java.lang.String
org.hibernate.id.IdentifierGenerationException: Unknown integral data type for ids : java.lang.Strin ...
- 避免HTML5六种错误用法
一.不要使用section作为div的替代品 人们在标签使用中最常见到的错误之一就是随意将HTML5的<section>等价于<div>--具体地说,就是直接用作替代品(用于样 ...