版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、用户配置本章目标本章目标u用户配置n定义和使用配置属性 n使用授权配置属性n使用匿名配置属性 n定义用户自定义配置属性类特点特点uASP.NET 用户配置功能将信息与单个用户关联,并采用持久性的格式存储这些信息。通过配置,可以管理用户信息,而无需创建和维护自己的数据库。此外,通过使用可从应用程序中的任何位置访问的强类型 API,就可以借助 ASP.NET 配置功能使用相关的用户信息。u可以使用用户配置存储任何类型的对象。用户配置功能提供了一项通用存储功能,使您能够定义和维护几乎任何类型的数据,同时仍可用类型安全的方式使用数据。ASP.NET 配置的工作方式配置的工作方式 u通过定义要维护其值的
2、属性的列表,可以对用户配置功能进行配置。u例如,您可能需要存储用户的邮政编码,以使您的应用程序可以提供特定于区域的信息,如天气预报等。在配置中,应定义一个名为 PostalCode 的配置属性。配置的 profile 节与如下所示类似: ASP.NET 配置的工作方式配置的工作方式u应用程序运行时,ASP.NET 会创建一个 ProfileCommon 类,该类是一个动态生成的类,从 ProfileBase 类继承而来。动态的 ProfileCommon 类包括根据在应用程序配置中指定的配置属性定义创建的属性。然后,会将此动态 ProfileCommon 类的实例设置为当前 HttpConte
3、xt 的 Profile 属性的值,并且可在应用程序的页中使用。u在应用程序中,可以收集要存储的值,并将其赋值给已定义的配置属性。例如,应用程序的主页可能包含提示用户输入邮政编码的文本框。用户输入邮政编码时,可以设置 Profile 属性,以存储当前用户的值,如下面的示例所示 Profile.PostalCode = txtPostalCode.Text;或HttpContext.Current.Profile.PostalCode = txtPostalCode.Text;ASP.NET 配置的工作方式配置的工作方式u为 Profile.PostalCode 设置值时,会自动为当前用户存储该
4、值。无需编写任何代码确定当前用户的身份,也无需将值显式地存储于数据库中,该配置功能将为您执行这些任务。u如果要使用该值,可以采用与设置该值基本相同的方法获取该值。例如:string postalCode;postalCode = Profile.PostalCode;或postalCode = HttpContext.Current.Profile.PostalCode;.ASP.NET 配置属性的用户标识配置属性的用户标识 uASP.NET 用户配置功能设计为提供当前用户的独有信息。配置可由通过身份验证的用户使用,也可以由匿名(未经身份验证)用户使用。匿名用户匿名用户 u默认情况下,并不会启
5、用匿名配置支持,因此必须显式启用。此外,当在 Web.config 文件中定义配置属性时,必须将其显式定义为可由匿名用户单独使用。 u如果启用了匿名标识,则用户首次访问站点时,ASP.NET 将为其创建一个唯一标识。该唯一用户标识存储在用户计算机上的 Cookie 中,这样,对于每个页请求,其用户都可以得到标识。Cookie 的默认有效期设置为大约 70 天,当用户访问站点时会定期对其进行更新。如果用户的计算机不接受 Cookie,则可将该用户的标识作为请求的页 URL 的一部分来维护(尽管用户关闭浏览器时该标识会丢失)。 使用配置使用配置uProfile保存简单数据属性定义信息属性定义信息u
6、在配置中定义属性时,应指定将用于引用该属性的名称。例如,如果要存储邮政编码,则可以将属性命名为 PostalCode,然后可以获取属性值并将其设置为 Profile.PostalCode。u可以选择为各个属性定义以下附加特性:ntype 指定属性的类型。默认为 String。可以将任何 .NET 类指定为类型(Int32、DateTime、StringCollection 等)。如果 .NET Framework 中没有定义该类型,则必须确保 Web 应用程序可以访问该类型。可以在网站的 Bin 目录中或全局程序集缓存 (GAC) 中包含该类型编译后的程序集,也可以将该类型的源代码放入网站的
7、App_Code 目录中。属性定义信息属性定义信息nserializeAs 指定序列化格式化程序(字符串、二进制、XML 或提供程序特定的序列化)。默认序列化为字符串。 nallowAnonymous 指定一个布尔值,该布尔值指示是否为匿名用户托管属性。默认情况下,该属性为 false。如果希望未经身份验证的用户使用该属性,则可以将该属性设置为 true。ndefaultValue 指定属性初始化时使用的值。nreadOnly 指定一个布尔值来指示属性是否可修改。nprovider 指定特定于属性的提供程序。默认情况下,使用为配置属性指定的默认提供程序对所有属性进行管理,但个别属性也可以使用不
8、同的提供程序。 ncustomProviderData 指定一个包含自定义信息的可选字符串,该字符串将被传递给配置提供程序。各个提供程序可实现自定义逻辑来使用此数据。Profile保存用户数据保存用户数据u保存复杂数据类型u保存自定义数据类型登录过程中迁移配置属性登录过程中迁移配置属性 u如果某个用户首先以匿名用户身份访问网站,然后登录,您可能需要保留用户为匿名身份时建立的属性设置。n典型的示例是:在购物网站中,用户可能先以匿名用户身份浏览,并将物品添加到购物车,然后登录以付款。u若要在用户登录时保留其值,请将用户从当前匿名用户配置迁移到他们作为登录用户(经过身份验证)时的用户配置。 u当用户
9、登录(即不再是匿名用户)时,将引发 MigrateAnonymous 事件。 uProfileCommon 类的GetProfile 方法使我们能够根据用户名检索 ProfileCommon 对象。可以使用当前经过身份验证的配置的 GetProfile 方法来检索匿名配置的属性值。然后可以将匿名属性值复制到已验证身份的用户的当前配置中。 #region 登录过程中迁移配置属性 void Profile_MigrateAnonymous(object sender, ProfileMigrateEventArgs e) this.Profile.PostalCode = this.Profile.GetProfile(e.AnonymousID).PostalCode; #endregion定义自己的用户属性类定义自己的用户属性类u如果很多profile都具有相同的属 性,即可让这些profile都继承自一个相同的 类。用户可以自定义一个继承自profilebase 的类,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 焙烤食品制造中的产品包装设计与外观创新策略考核试卷
- 日用化学产品对市场竞争的影响考核试卷
- 智能医疗的智能客服系统考核试卷
- 2024商业分期付款协议样本
- 橡胶制品行业的市场增长机会考核试卷
- 2024至2030年中国铜氨布斜纹数据监测研究报告
- 《玉米种子活力的研究》
- 《Ni-Cu-TiO2催化剂对甲苯的催化氧化降解效果及机理研究》
- 《海尔集团绩效管理案例研究》
- 《机械压力对电池性能的影响》
- 心肺复苏术课件2024新版
- 北师大版数学一年级上册期中考试试题
- 行政复议法-形考作业2-国开(ZJ)-参考资料
- 起重机械安全技术规程(TSG-51-2023)宣贯解读课件
- 职业倦怠量表MBIGS (MBIGeneral Survey)
- 连续梁施工作业要点手册(支架现浇)
- 三年级习作:菊花教学指导(课堂PPT)
- 会议·宴会预订单
- 个人医德医风档案
- 局组会议议题提报单模板
- 世界气温和降水的分布
评论
0/150
提交评论