一、登录方式

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版用户登录详解的更多相关文章

  1. Yii2.0 用户登录详解(上)

    一.准备 在开始编写代码之前,我们需要思考一下:用户登陆模块,实现的是什么功能?很明显,是登陆功能,那么,登陆需要用户名和密码,我们在数据库的一张表中就应该准备好用户名和密码的字段,再思考一下,如果要 ...

  2. sql server 2008 数据库管理系统使用SQL语句创建登录用户步骤详解

    介绍了sql server 2008 数据库管理系统使用SQL语句创建登录用户步骤详解 --服务器角色: --固定服务器角色具有一组固定的权限,并且适用于整个服务器范围. 它们专门用于管理 SQL S ...

  3. C#自制Web 服务器开发:mysql免安装版配置步骤详解分享

    mysql免安装版配置步骤详解分享 1.准备工作 下载mysql的最新免安装版本mysql-noinstall-5.1.53-win32.zip,解压缩到相关目录,如:d:\ mysql-noinst ...

  4. 分享我开发的网络电话Android手机APP正式版,图文详解及下载

    分享我开发的网络电话Android手机APP正式版,图文详解及下载 分享我开发的网络电话Android手机APP正式版 实时语音通讯,可广域网实时通讯,音质清晰流畅! 安装之后的运行效果: 第一次安装 ...

  5. Bmob第三方登录详解

    Bmob第三方登录详解 Bmob 第三方登录 简介 本文主要介绍新浪微博,QQ,微信的登录接入以及如何配合BmobSDK中的第三方登录功能实现第三方登录. 在使用之前请先按照快速入门创建好可以调用Bm ...

  6. Linux学习之用户配置文件详解(十四)

    Linux学习之用户配置文件详解 目录 用户信息文件/etc/password 影子文件/etc/shadow 组信息文件/etc/group 组密码文件/etc/gshadow 用户信息文件/etc ...

  7. linux ssh使用深度解析(key登录详解)

    linux ssh使用深度解析(key登录详解) SSH全称Secure SHell,顾名思义就是非常安全的shell的意思,SSH协议是IETF(Internet Engineering Task ...

  8. SSH免密登录详解

    SSH免密登录详解 SSH(Security Shell)安全外壳协议,是较为可靠的,专为远程登录会话和其他网络服务提供安全保证的协议. ​ 对于传统的网络服务程序(例如,FTP,Telnet等)来说 ...

  9. 前后端分离,简单JWT登录详解

    前后端分离,简单JWT登录详解 目录 前后端分离,简单JWT登录详解 JWT登录流程 1. 用户认证处理 2. 前端登录 3. 前端请求处理 4. 后端请求处理 5. 前端页面跳转处理 6. 退出登录 ...

随机推荐

  1. Python 上传和更新函数模块到PyPI

    1. update setup.py from distutils.core import setup setup( name = 'iamericnester', version = '1.4.0' ...

  2. 【原】sql 将某列拼成一个字符串

    SQL Server中,写存储过程,时常会碰到这样一个需求:从某个表中取某一列,然后需要将这一列数据以某种形式拼成一个字符串,以供后面使用,下面这种方法能够实现此需求. --取说明书模块枚举,结果格式 ...

  3. Hadoop学习9--动态增加datanode

    http://www.cnblogs.com/ggjucheng/archive/2012/04/18/2454689.html

  4. Unable to locate Android SDK used by project

    Unable to locate Android SDK used by project: DJIgojava.lang.RuntimeException: Unable to locate Andr ...

  5. mysql小问题

    报错信息如下: 主要是因为用root用户登录查询其他用户的表,结果这个用户不存在了,所以导致没有权限.临时解决办法,给root赋所有权限: grant all privileges on *.* to ...

  6. DBA_FND Load程式迁移工具介绍和应用(案例)

    2014-06-10 Created By BaoXinjian

  7. ubuntu配置DNS

    众所周知,centos配置DNS很简单,修改下/etc/resolv.conf,就可以生效.但是ubuntu中,resolv.conf文件却说明写入会被覆盖,不能写在这里. 方法一: 修改/etc/n ...

  8. Redis 发布/订阅机制原理分析

    Redis 通过 PUBLISH. SUBSCRIBE 和 PSUBSCRIBE 等命令实现发布和订阅功能.   这些命令被广泛用于构建即时通信应用,比如网络聊天室(chatroom)和实时广播.实时 ...

  9. 读取缓存模拟----FIFO

    本例是模拟缓存的存储和读取. 存储:使用一个Map来存放,key是文件名,值为缓存对象 读取:返回相应的key对应的缓存.(如果缓存被修改,就重新加载缓存,再从缓存Map中读取相应缓存) 测试类:每2 ...

  10. Jmeter监控系统等资源,ServerAgent端口的修改

    默认情况下在下载的ServerAgent下,如果服务是windows系统,则直接启动"startAgent.bat"即可,如果是Linux系统,则直接启动"./start ...