• 关于Request.AnonymousID


    匿名个性化
         
    ASP.NET 2.0中的一个新特性是允许匿名的终端用户利用它提供的个性化功能。如果站点需要某种形式的注册,这就是很重要的。此时,终端用户在第一次使用某些基本服务之前,并不总是注册对重要应用程序的访问。例如,许多电子商务站点允许匿名终端用户在注册之前,在该站点上购物,使用站点的购物车。可以自动在多个Web应用程序之间存储用户信息。一个User Profile中可以存储各种类型的信息,这些信息既可以是简单的string和integer类型,也可以是复杂的自定义类型

    支持终端用户的匿名身份
         
    匿名个性化功能默认为禁用,因为它会消耗流行站点上的数据库资源。因此,允许匿名个性化的第一步是使用web.config文件中的一个设置启用这个功能。还需要根据属性在web.config文件中的具体设置进行一些修改,以确定是否允许对应用程序进行匿名个性化。可以通过启用匿名身份识别功能,让个性化引擎利用<anonymousIdentification>元素识别未知的终端用户。为了对可能访问应用程序的终端用户启用匿名身份,应在web.config文件的<system.web>节点中添加<anonymousIdentification>元素。然后在<anonymousIdentification>元素中使用Enabled属性,把它的值设置为True。该值默认设置为False。

     1<configuration>
     2
     3   <system.web>
     4  
     5        <anonymousIdentification enabled="True" />
     6        //启用匿名
     7   </system.web>
     8
     9</configuration>
    10

          启用匿名身份功能后,ASP.NET会给每个访问应用程序的匿名用户使用一个唯一的标识符(AnonymousId)。这个标识符会随每个请求一起发送,但在终端用户由ASP.NET验证身份后,该标识符就会删除。对于匿名用户,其信息在终端用户的机器上默认存储为一个cookie。其他信息(给匿名用户提供的个性化属性)存储在服务器的特定数据库中。为了演示匿名身份功能,请关闭示例应用程序的Windows Authentication,而使用Form Authentication.

     1<configuration>
     2
     3   <system.web>
     4
     5        <anonymousIdentification enabled="True"/>
     6
     7        <authentication mode="Form" />
     8
     9   </system.web>
    10
    11</configuration>
    12

     基本设置


    <configuration>

       
    <system.web>

            
    <anonymousIdentification

                enabled
    ="True"
                
                
    //cookie默认使用的名称是.ASPXANONYMOUS
                cookieName=".ASPXEvjenWebApplication" 
                
    //存储在终端用户机器上的cookie默认存储100,000分钟(大约70天)
                cookieTimeout="1440" //1440分钟,即一天

                
    //匿名标识符使用cookie存储,还可以改变这种方式。
                cookieless="UseUri"/>

       
    </system.web>

    </configuration>

          匿名标识符使用cookie存储,还可以改变这种方式。cookie是获得身份的首选方式,但不使用cookie也可以获得身份。其他方式有使用URI或设备配置文件.
          除了UseUri之外,其他选项包括UseCookies、AutoDetect和UseDeviceProfile。
          ●  UseCookies: 默认设置。如果没有设置值,ASP.NET就假定使用这个值。UseCookies表示cookie放在终端用户的机器上,用于标识身份。
          ●  UseUri:表示cookie不存储在终端用户的机器上,而是把唯一标识符放在页面的URL上。这种方法与ASP.NET 1.0/1.1中使用无cookie的会话相同。如果开发人员想避免把cookie放在终端用户的机器上,这个选项很适合,但它会创建古怪的URL,在终端用户给页面加上书签,以便以后浏览时,这可能会成为一个问题。
          ●  AutoDetect: 使用这个值,会让ASP.NET引擎确定是给匿名身份使用cookie还是URL方法。每个用户都要进行一次确定,它执行起来比其他两个选项糟糕一些。ASP.NET必须在确定使用哪个方法前检查终端用户。如果必须让终端用户关闭cookie(目前很少见),最好使用AutoDetect代替UseUri。
          ●  UseDeviceProfile: 为发出请求的设备或浏览器配置标识符。

    查看存储的匿名标识符
         
    为了使匿名标识符保持唯一,可使用全局唯一的GUID。现在还可以获取这个唯一标识符。要获取GUID,就要使用AnonymousId属性改进Request对象。AnonymousId属性返回String类型的值.
          例:Label1.Text = Request.AnonymousID

    使用匿名身份事件
         
    在创建匿名用户的过程中,注意可以使用两个重要的事件来管理该过程
          ●   AnonymousIDentification_OnCreate
          ●   AnonymousIDentification_OnRemove
          使用AnonymousIDentification_OnCreate事件,可以进行终端用户的身份识别。例如,如果不想使用GUID唯一地标识终端用户,就可以在这个事件中改变标识值。为此,使用AnonymousIDentificationEventArgs类型的事件委托创建该事件。

    1public void AnonymousIDentification_OnCreate(object sender, 
    2
    3    AnonymousIDentificationEventArgs e)
    4{
    5        e.AnonymousId = "Bubbles " + DateTime.Now();
    6}

    7

          AnonymousIDentificationEventArgs事件委托有一个AnonymousID属性,它的值用于唯一地标识匿名用户。现在不使用GUID唯一地标识匿名用户:d13fafec-244a-4d21-9137-b213236ebedb.
          在AnonymousIDentification_OnCreate事件中把AnonymousID属性改为:Bubbles 2/10/2006 2:07:33 PM
          AnonymousIDentification_OnRemove事件也使用AnonymousIDentificationEventArgs类型的事件委托,在把匿名用户变成注册用户之前使用该事件委托。注意,此时仍可以访问Request对象的AnonymousID属性。

     个性化属性的匿名选项
         
    有了处理匿名用户的功能后,还必须给浏览页面的匿名用户指定支持哪些个性化属性。为此,在web.config文件的<properties>段中,给<add>元素添加allowAnonymous属性


     1<properties>
     2
     3    <add name="FirstName" type="System.String" />
     4
     5    <add name="LastName" type="System.String" />
     6
     7    <add name="LastVisited" type="System.DateTime" allowAnonymous="true" />
     8
     9    <add name="Age" type="System.Integer" />
    10
    11    <add name="Member" type="System.Boolean" />
    12
    13</properties>
    14

          在这个例子中,设置了LastVisited属性,再把allowAnonymous属性设置为True,以支持匿名用户。由于这是处理匿名用户的唯一属性,所以其他已定义的属性都不为这类用户存储信息。

    http://book.csdn.net/bookfiles/469/10046916556.shtml

  • 相关阅读:
    利用python爬虫关键词批量下载高清大图
    多源最短路径算法—Floyd算法
    Dijkstra算法详细(单源最短路径算法)
    写博客没高质量配图?python爬虫教你绕过限制一键搜索下载图虫创意图片!
    并查集(不相交集合)详解与java实现
    AVL树(二叉平衡树)详解与实现
    二叉树——前序遍历、中序遍历、后序遍历、层序遍历详解(递归非递归)
    CSS基础总结
    HTML基础总结
    JavaSE 软件工程师 认证考试试卷3
  • 原文地址:https://www.cnblogs.com/poissonnotes/p/1906444.html
Copyright © 2020-2023  润新知