在使用 ASP.NET 角色前,必须有一个可用的网站并配置该网站以启用成员资格和设置用户角色。如果您已完成主题演练:创建具有成员资格和用户登录功能的网站,则可以使用在该演练中配置的网站。
如果还没有可用的网站,请使用下面的过程创建一个。否则,转到下一节“为仅允许成员访问的页创建文件夹”。
创建本地 IIS 网站
打开 Visual Studio。
在“文件”菜单上单击“新建网站”。
“新建网站”对话框随即出现。
在“Visual Studio 已安装的模板”之下选择“ASP.NET 网站”。
在“位置”列表框中,选择“文件系统”。
单击“浏览”,然后为应用程序选择一个目录(如 C:\RolesWebSite)。
在“语言”框中,单击您想使用的编程语言。
您选择的编程语言将是网站的默认语言,但您可以为每个页面分别设置编程语言。
在“新建网站”对话框中单击“确定”。
Visual Web Developer 创建该网站和一个名为 Default.aspx 的新页。
为仅允许成员访问的页创建文件夹
为了使用角色,需要创建两个文件夹“MemberPages”和“GuestPages”,可以在这两个文件夹中保存具有受限制访问权限的页。
说明: |
|---|
如果您在重新使用成员资格演练中的网站,则可能已拥有此文件夹,可以跳过下面的过程步骤 1。 |
创建具有受限制访问权限的文件夹
在“解决方案资源管理器”中,右击“网站根目录”,单击“新建文件夹”,然后将该文件夹命名为“MemberPages”。
此文件夹将包含一个仅部分用户能够访问的页。
右击“网站根目录”,单击“新建文件夹”,然后将该文件夹命名为“GuestPages”。
此文件夹将包含一个所有登录用户都能访问的页(匿名用户不能访问)。
为使用成员资格和角色配置网站
创建基本的网站后,可以配置该网站以使用成员资格和角色。
为使用成员资格和角色配置网站
在“网站”菜单中,单击“ASP.NET 配置”。
选择“安全”选项卡,单击“使用安全设置向导按部就班地配置安全性”的链接,然后单击“下一步”。
继续向导的步骤 2,并选择“通过 Internet”选项。
向导会显示一个页,您可以在其中选择网站将使用的身份验证方法。
此选项指定应用程序将使用 Forms 身份验证,其中用户将使用在本演练中稍后创建的登录页登录到应用程序。
单击“下一步”。
该向导会显示一条消息,表明将使用“高级提供程序设置”存储用户信息。您的应用程序将使用默认提供程序,该提供程序将成员资格信息存储在网站的 App_Data 文件夹下的 SQL Server 速成版数据库文件中。
再单击“下一步”。
在“步骤 4:定义角色”中,选择“为此网站启用角色复选框,然后单击下一步”。
系统提示时,创建两个角色“members”和“guests”,然后单击“下一步”。
在“步骤 5: 添加新用户”中,创建名为“member1”、“guest1”和“memberGuest”的三个用户。
您可以根据需要指定任意强密码,但一定要记住密码。密码必须至少为 7 个字符,并且其中至少有一个字符为非字母数字字符。对于电子邮件地址,请使用自己的邮件地址。(本演练中将不会发送电子邮件。)
说明: |
|---|
暂时不要关闭网站管理工具。 |
正在创建的网站将允许用户根据他们的角色获得对不同页的访问。因此需要创建一些访问规则,确定哪些角色能够访问哪些文件夹。
设置站点文件夹的访问规则
在网站管理工具的安全向导中,单击“下一步”。
“步骤 6: 添加新访问规则”会显示一个页,您可以在该页中创建规则,用于确定哪些角色(或用户)可以访问网站中的页。
在“为此规则选择一个目录”下面,展开根节点,然后单击“GuestPages”。
在“规则应用于”之下选择“匿名用户”。
在“权限”之下选择“拒绝”。
您所创建的规则会拒绝匿名用户(即没有登录的用户)的访问。
单击“添加此规则”。
新规则显示在页底部的网格中。当用户请求“GuestPages”目录中的页时,将按顺序从上到下检查这些规则,以确定是否允许用户访问该页。如果用户没有登录,则不会显示此文件夹中的页。
在“为此规则选择一个目录”下,单击“MemberPages”。
在“规则应用于”下,选择“角色”,然后在下拉列表中单击“成员”。
在“权限”之下选择“允许”。
所创建的规则将向“members”角色中的所有用户授予对“MemberPages”文件夹的访问权限。
单击“添加此规则”。
在“为此规则选择一个目录”下,单击“MemberPages”。
在“规则应用于”之下选择“所有用户”。
在“权限”之下选择“拒绝”。
单击“添加此规则”。
“MemberPages”文件夹的第二个规则确保除了“members”角色中的用户外,其他任何用户都不能访问该文件夹。规则按照在该网格中的显示顺序从上到下进行处理。
第一个规则(“允许”)向名为“members”的角色中的用户授予访问权限。第二个规则(“拒绝”)拒绝其他所有用户的访问权限。可以根据应用程序需要创建任意数目的“允许”和“拒绝”规则。当用户请求“MemberPages”目录中的页时,将按从上到下的顺序应用这些规则,以确定是否允许用户访问该页。
单击“完成”返回到“安全”选项卡。
说明: |
|---|
暂时不要关闭网站管理工具。 |
将用户分配到角色
必须执行最后一个配置步骤:向角色分配已创建的用户。
将用户分配到角色
在网站管理工具的“安全”选项卡上,在“用户”下单击“管理用户”。
在“guest1”所在的行中,单击“编辑角色”。
“角色”框中填充了一列可用的角色。
选择“guests”复选框以将用户“guest1”分配给角色“guests”。
在“member1”所在的行中,单击“编辑角色”,然后将用户“member1”分配给角色“members”。
使用同样的方法将用户“memberGuest”分配给“guests”和“members”角色。
关闭网站管理工具,然后执行下面的步骤:
在解决方案资源管理器中,单击刷新图标。
在“网站”菜单上单击“ASP.NET 配置”以重新启动网站管理工具。
这将确保关闭由网站管理工具使用的与成员资格数据库的连接。
再次关闭网站管理工具。