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] 下一页 [C语言系列]NET 中C#的switch语句的语法 [系统软件]托拽Explore中的文件到VB.net的窗口 [系统软件]Boost库在XP+Visual C++.net中的安装 [常用软件]新配色面板:Paint.Net3.0RC1官方下载 [常用软件]用内建的“Net Meeting”聊天 [VB.NET程序]Henry的VB.NET之旅(三)—共享成员 [VB.NET程序]Henry的VB.NET之旅(二)—构造与析构 [VB.NET程序]Henry的VB.NET之旅(一)—失踪的窗体 [VB.NET程序]在托盘上显示Balloon Tooltip(VB.NET) [VB.NET程序]Henry手记-VB.NET中动态加载Treeview节点(二)
|