login.aspx

用户随时都可以通过click the "Sign In" button in the header (_Header.ascx)。

IbuySpy使用的是Forms-based authentication,which is enabled by making a entry in the application's Web.config  file.

有些页面(CheckOut.aspx。。。)必需认证了的用户才能够进入,如何确定该用户是否认证用户呢?
    这些页面并不是在该页中书写代码来验证进入者是否为认证用户。
    它们是在web.config中间设置了进入障碍。

那么,在这些页面无法进入的情况下,我们会跳转到另外的页面,而跳转到哪个页面也是有web.config来设置的。
在Web.config 中的The loginurl attribute specifies the login page that the application should redirect to any time a user attempts to access an application resource that does not allow anonymous access.

在login.aspx页面中:

如果login成功了,那么the LoginBtn_Click event handler performs three important actions: 与代码进行对照。
1,将临时cart中的items转到个人的cart中,这样信息就不会丢失,有助于以后的使用。
    shoppingCart.MigrateCart(tempCartID, customerId);
    实际上,只是将原来购物车的TemperaryID改成了该用户的名字而已。

2,给client一个personalization的cookie,那么在以后进入default.aspx时,能够看到customed personal welcome。
    Response.Cookies["IBuySpy_FullName"].Value = customerDetails.FullName;

3,调用RedirectFromLoginPage() static method ,This is a built-in ASP.NET class。 作用是:这个method发出一个mac的加密的cookie认证ticket到客户端浏览器来确认认证了的客户username。在这个程序中,我们使用Customer ID来作为客户的认证名。在随后的对这个程序的请求中,我们仍然可以使用这个用户名。在发出了认证ticket到客户端浏览器后,这个method即RedirectFromLoginPage()能够使浏览器返回到the login page navigation came from.
(originating page?default.aspx,其实这里的意思是:如果试图进入restricked的页面,同时你还没有login的话,会redirect到login page,而后,回到restricked page,如果是直接点击上面的sign in标签的话,而后,会回到default。page)
    FormsAuthentication.RedirectFromLoginPage(customerId,RememberLogin.Checked);

实际上,用来标志用户身份的CustomerID也就是该用户的ShoppingCartID,用来标志购物车
从这句代码可以看出:
// Migrate any existing shopping cart items into the permanent shopping cart
       shoppingCart.MigrateCart(tempCartID, customerId);

1,CustomerID是由login的用户的用户名和密码确定的:
       IBuySpy.CustomersDB accountSystem = new IBuySpy.CustomersDB();
       String customerId = accountSystem.Login(email.Text, password.Text);

2,ShoppingCartID是由用户名(已登陆)或者TemperaryID决定。
       IBuySpy.ShoppingCartDB shoppingCart = new IBuySpy.ShoppingCartDB();
       String tempCartID = shoppingCart.GetShoppingCartId();
而在现实中,情况的确也是这样:
// If the user is authenticated, use their customerId as a permanent shopping cart id
            if (context.User.Identity.Name != "") {
                return context.User.Identity.Name;
            }

我们看到生成了一个personalization的cookie,它是怎么生成的呢?

// Lookup the customer's full account details

ASPNETCommerce.CustomerDetails customerDetails =

accountSystem.GetCustomerDetails(customerId);

// Store the user's fullname in a cookie for personalization purposes

Response.Cookies["ASPNETCommerce_FullName"].Value = customerDetails.FullName;

// Make the cookie persistent only if the user selects

// "persistent" login checkbox

if (RememberLogin.Checked == true)

{

Response.Cookies["ASPNETCommerce_FullName"].Expires =

DateTime.Now.AddMonths(1);

}

如果没有选择Checked == true,那么cookie在user ends the session的时候,就会destory。

session&cookie详见ASP.NET

Login.aspx相关推荐

  1. login aspx实现登陆功能 400电话

    default aspx允许所有用户访问.login aspx实现登陆功能 400电话,reguser aspx实现注册用户功能.1 首先我们新建一个网站2 进入c:\windows\microsof ...

  2. Asp2.0下Login.Aspx页面和VS2005登陆控件冲突问题!

    有句老话说,常在河边走,哪能不湿鞋,呵呵,今天终于让我遇到了. VS2005项目中,若有个页面文件是Login.aspx,即类名为Login,这样就会和VS2005中自带的登陆控件的类名起冲突,在本地 ...

  3. 地址:https://passport.jd.com/new/login.aspx 需求:模拟京东登陆请求参数

    京东登录请求参数包括: loginname: 登录名, 可以是用户名或者手机号码. nloginpwd: 登录密码. chkRememberMe: 是否记住登录状态, 值为"on" ...

  4. 认识登录控件(Login、CreateUserWizard、LoginStatus和LoginName)

    QQ交流群:13033480 一.新建网站Web 二.窗体配置文件中修改 <authentication mode="Forms" /> 三.新建文件夹Manager, ...

  5. aspx文件、aspx.cs文件、aspx.designer.cs文件之讲解

    .aspx文件:(页面)书写页面代码.存储的是页面design代码.只是放各个控件的代码,处理代码一般放在.cs文件中. .aspx.cs文件:(代码隐藏页)书写类代码.存储的是程序代码.一般存放与数 ...

  6. aspx后缀映射成html

    1.网站的配置文件添加如下代码: <configuration> <configSections><section name="RewriterConfig&q ...

  7. 通用Login功能自动化测试

    用WaitiN写了个简单的login自动化测试,能够使用少量的代码实现批量账号的login测试. 很简单的,代码如下: using System; using System.Collections.G ...

  8. Cannot convert type ‘ASP.login_aspx’ to ‘System.Web.UI.WebControls.Login’的解决方法

    这是Visual Studio 2005的一个Bug,VS进行网站发布(预编译)后,登录页中的"Login"控件和 .NET Framework 中"System.Web ...

  9. html游戏手机怎么打开方式,aspx文件怎么打开手机(aspx游戏怎么玩)

    昨天我们的期末作品终于交了,今天就可以直接开放终极源代码了 具体页面在上边的<展示>里都写了 首先,来看看和之前的不同 大部分都换成了选择框,基本不用手动输入 界面.权限也有所改变 加了两 ...

最新文章

  1. Servlet 简介
  2. SAP物料标准成本估算结果
  3. 学习Java的十大理由,益处太多了
  4. 在信用健全的今天,史玉柱背负2.5亿债务还能翻身吗?
  5. 压缩、解压 解决 客户端查询大批量数据时等待时间过长的问题
  6. 计算机排版技能会操方案,实验九 Word的高级排版技巧.pdf
  7. Centos 7编译安装 LAMP 环境
  8. 爱奇艺取消剧集超前点播
  9. 百度92年程序员因“篡改数据”被抓;运营商辟谣首批 5G 用户被抛弃;特斯拉回应上海工厂摄像头被入侵 | 极客头条...
  10. WEB 开发前传——js笔记
  11. 最新教师计算机测试题,信息技术教师基本功测试题
  12. NLPIR词性标记集
  13. 被忽视的大型互联网企业安全隐患:第三方开源WiKi程序
  14. 三角形中重心、内心、外心、垂心向量计算公式
  15. STM32的延迟函数1us、1ms
  16. The semaphore timeout period has expired
  17. 小米发布新LOGO,耗时3年!设计费200万!“雷总,你被骗了”
  18. 【矩阵论】8. 常用矩阵总结——镜面阵,正定阵
  19. Gardner定时同步的matlab实现
  20. 51nod 1475:建设国家 优先队列的好题

热门文章

  1. 矩阵论 - 6 - 列空间、零空间
  2. 安装win10出现“计算机意外的重新启动或遇到错误。Windows安装无法继续。若要安装Windows,请单击“确定”重新启动计算机,然后安装系统。”
  3. python中clear和clear()
  4. 视觉与智能学习近期期刊阅读与相关知识学习
  5. bp神经网络和cnn神经网络,bp神经网络和神经网络
  6. PHP/MySQL教程
  7. 瑞利信号公式(级联信道,多信道之和,多个瑞利信号之和,概率密度函数)
  8. 跨境电商的商品是如何出口的-扬帆际海
  9. STL——STL简介、STL六大组件
  10. 22考研经验贴-这是可以说的吗?