Login.aspx
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相关推荐
- login aspx实现登陆功能 400电话
default aspx允许所有用户访问.login aspx实现登陆功能 400电话,reguser aspx实现注册用户功能.1 首先我们新建一个网站2 进入c:\windows\microsof ...
- Asp2.0下Login.Aspx页面和VS2005登陆控件冲突问题!
有句老话说,常在河边走,哪能不湿鞋,呵呵,今天终于让我遇到了. VS2005项目中,若有个页面文件是Login.aspx,即类名为Login,这样就会和VS2005中自带的登陆控件的类名起冲突,在本地 ...
- 地址:https://passport.jd.com/new/login.aspx 需求:模拟京东登陆请求参数
京东登录请求参数包括: loginname: 登录名, 可以是用户名或者手机号码. nloginpwd: 登录密码. chkRememberMe: 是否记住登录状态, 值为"on" ...
- 认识登录控件(Login、CreateUserWizard、LoginStatus和LoginName)
QQ交流群:13033480 一.新建网站Web 二.窗体配置文件中修改 <authentication mode="Forms" /> 三.新建文件夹Manager, ...
- aspx文件、aspx.cs文件、aspx.designer.cs文件之讲解
.aspx文件:(页面)书写页面代码.存储的是页面design代码.只是放各个控件的代码,处理代码一般放在.cs文件中. .aspx.cs文件:(代码隐藏页)书写类代码.存储的是程序代码.一般存放与数 ...
- aspx后缀映射成html
1.网站的配置文件添加如下代码: <configuration> <configSections><section name="RewriterConfig&q ...
- 通用Login功能自动化测试
用WaitiN写了个简单的login自动化测试,能够使用少量的代码实现批量账号的login测试. 很简单的,代码如下: using System; using System.Collections.G ...
- Cannot convert type ‘ASP.login_aspx’ to ‘System.Web.UI.WebControls.Login’的解决方法
这是Visual Studio 2005的一个Bug,VS进行网站发布(预编译)后,登录页中的"Login"控件和 .NET Framework 中"System.Web ...
- html游戏手机怎么打开方式,aspx文件怎么打开手机(aspx游戏怎么玩)
昨天我们的期末作品终于交了,今天就可以直接开放终极源代码了 具体页面在上边的<展示>里都写了 首先,来看看和之前的不同 大部分都换成了选择框,基本不用手动输入 界面.权限也有所改变 加了两 ...
最新文章
- Servlet 简介
- SAP物料标准成本估算结果
- 学习Java的十大理由,益处太多了
- 在信用健全的今天,史玉柱背负2.5亿债务还能翻身吗?
- 压缩、解压 解决 客户端查询大批量数据时等待时间过长的问题
- 计算机排版技能会操方案,实验九 Word的高级排版技巧.pdf
- Centos 7编译安装 LAMP 环境
- 爱奇艺取消剧集超前点播
- 百度92年程序员因“篡改数据”被抓;运营商辟谣首批 5G 用户被抛弃;特斯拉回应上海工厂摄像头被入侵 | 极客头条...
- WEB 开发前传——js笔记
- 最新教师计算机测试题,信息技术教师基本功测试题
- NLPIR词性标记集
- 被忽视的大型互联网企业安全隐患:第三方开源WiKi程序
- 三角形中重心、内心、外心、垂心向量计算公式
- STM32的延迟函数1us、1ms
- The semaphore timeout period has expired
- 小米发布新LOGO,耗时3年!设计费200万!“雷总,你被骗了”
- 【矩阵论】8. 常用矩阵总结——镜面阵,正定阵
- Gardner定时同步的matlab实现
- 51nod 1475:建设国家 优先队列的好题
热门文章
- 矩阵论 - 6 - 列空间、零空间
- 安装win10出现“计算机意外的重新启动或遇到错误。Windows安装无法继续。若要安装Windows,请单击“确定”重新启动计算机,然后安装系统。”
- python中clear和clear()
- 视觉与智能学习近期期刊阅读与相关知识学习
- bp神经网络和cnn神经网络,bp神经网络和神经网络
- PHP/MySQL教程
- 瑞利信号公式(级联信道,多信道之和,多个瑞利信号之和,概率密度函数)
- 跨境电商的商品是如何出口的-扬帆际海
- STL——STL简介、STL六大组件
- 22考研经验贴-这是可以说的吗?