一、登录方式

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. windows下 更新 android studio SDK 到最新版本 解决方案

    一.设置代理信息 打开android studio>>File>>Settings>>Appearance&Behavion>>System S ...

  2. bzoj3743 Kamp

    Description 一颗树n个点,n-1条边,经过每条边都要花费一定的时间,任意两个点都是联通的. 有K个人(分布在K个不同的点)要集中到一个点举行聚会. 聚会结束后需要一辆车从举行聚会的这点出发 ...

  3. 【java】之转码

    GBK->UTF-8 String str = "任意字符串"; str = new String(str.getBytes("gbk"),"u ...

  4. 关于mysql数据库在输入密码后,滴的一声直接退出界面的解决办法

    转自:http://www.2cto.com/database/201412/361751.html 网上搜索到的解决办法: 1.找到mysql安装目录下的bin目录路径.2.打开cmd,进入到bin ...

  5. 打开SDK Manager检查Android SDK下载和更新失败的解决方法

    [故障描述] 打开SDK Manager检查Android  SDK状况,出现以下情况: Failed to fetch URL https://dl-ssl.google.com/android/r ...

  6. 什么是编解码器codec

    编解码器(英语:codec)指的是一个能够对一个信号或者一个数据流进行编解码操作的设备或者程序.这里指的变换既包括将信号或者数据流进行编码(通常是为了传输.存储或者加密)或者提获取到一个编码流的操作, ...

  7. 【Mongodb】3.0 配置身份验证db.createUser()说明

    原文地址:http://bbs.51cto.com/thread-1146654-1.html 定义: 创建一个数据库新用户用db.createUser()方法,如果用户存在则返回一个用户重复错误. ...

  8. Unix commands in Mac OS X

    参考:http://www.renfei.org/blog/mac-os-x-terminal-101.html One command line includes 4 parts: Command ...

  9. JavaScript正则详谈

    JavaScript RegExp 基础详谈   前言: 正则对于一个码农来说是最基础的了,而且在博客园中,发表关于讲解正则表达式的技术文章,更是数不胜数,各有各的优点,但是就是这种很基础的东西,如果 ...

  10. [Android Studio 1A] – 插件

    关于android studio插件的使用,一直没有好的机会来研究,最近项目开发中需要统计项目的代码行数,所以就需要一个代码统计的插件.我选择的是 Statistic,下载地址是:https://pl ...