打印本文 打印本文 关闭窗口 关闭窗口
ASP.NET Whidbey中personalization和membership的一些特征
作者:武汉SEO闵涛  文章来源:敏韬网  点击数2003  更新时间:2009/4/23 10:49:43  文章录入:mintao  责任编辑:mintao
bsp;        type="System.Web.Security.AccessRoleProvider,

         System.Web, Version=1.1.3300.0, Culture=neutral,

         PublicKeyToken=b03f5f7f11d50a3a"

         connectionStringName=

          "webAdminConnection631974613823397072"

         applicationName="/aspnetPRO_PM" />

      </providers>

    </roleManager>

    <authentication mode="Forms" />

  </system.web>

</configuration>

如果要允许匿名用户访问你的站点,<anonymousIdentification>元素是必需的。personalization部分包含两个属性,第一个属性,theme,并不指定一个类型,所以可以当作一个字符串对待。第二个属性,FavoriteColors,指定了StringCollection类作为它的类型。在这个属性中,如果想要存储不兼容StringCollection类的数据,都会抛出异常。

<anonymousIdentification enabled="true"/>

<personalization>

  <profile>

    <property name="Theme" allowAnonymous="true" />

      <property name="FavoriteColors"

       type=

        "System.Collections.Specialized.StringCollection"

       allowAnonymous="true"

       serializeAs="Xml" />

  </profile>

</personalization>

 

现在,我们了解了配置personalization和定义一个provider,现在是时候研究如何定义构成用户profile的value集了。你需要为你想存储的每个profile值添加一个<property>条目。事实上,你可以存储任何种类的对象,简单类型,字符串,布尔类型,或是复杂一点的,比如collections,甚至是自定义的类型。

<profile>

<property name="MessagesPerPage" type="int" />

</profile>

personalization系统支持更复杂的类型,例如collections。事实上,你可以存储任何序列化的对象。其实定义一个复杂的属性和定义一个简单的属性没有太大的差别。接下来的代码,包含了简单和复杂的属性的定义。

<personalization enabled="true" defaultProvider="Access">

    <providers>

        <add name="Access" type="... " connectionName="..." />

        <add name="SQL" type="... " connectionName="..." />

</providers>

<profile>

    <property

        name="EmailAddresses"   

        type="System.Collection.Specialized.StringCollection"

        serializeAs="Xml"

        allowAnonymous="false"

        provider="SQL"/>

    <property name="MessagesPerPage" type="int" defaultValue="25" />

    </profile>

</personalization>

定义好了用户的profile后,就可以开始进行编码。Page类包括一个profile属性,也是HTTPPersonalizationBase的子类。它有如下的成员列表:

图四

 

在membership特征中,ASP.NET Whidbey提供了很多的安全控件,下面是一个列表:

控件

功能

Login

为站点定制了所有的登录功能,不需要任何代码

LoginView

可以选择几种不同的模板

PasswordRecovery

“忘记密码”的控件,用选择问题和答案来验证用户身份

LoginStatus

显示用户登录的状态

LoginName

能将登录的用户显示到页面上

我们举PasswordRecovery控件为例:在页面添加一个PasswordRecovery控件,HTML代码如下:

<form runat="server">

   <asp:passwordrecovery id="Passwordrecovery1" runat="server" font-

     names="Verdana" font-size="10pt" bordercolor="#999999"

     borderwidth="1px" borderstyle="Solid" backcolor="#FFFFCC"

     visible=true>

      <titletextstyle font-bold="True" forecolor="#FFFFFF"

        backcolor="#333399">

      </titletextstyle>

上一页  [1] [2] [3]  下一页

打印本文 打印本文 关闭窗口 关闭窗口