与ASP.NET 2.0一同上市的有几个新的安全控件-它们位于工具的Login选项卡中(见图1)-这些控件大大简化了Web开发人员的工作。通过使用这些新的安全控件,现在你可以执行例如用户登录、注册、口令改变等的任务;而且,为此做出的努力仅是拖放相应的控件到你的Web表单上去。在本文中,我将向你展示怎样使用这些新控件来实现用户认证。
首先,让我们探索一下LoginView、LoginStatus和LoginName三个控件的使用。首先,让我们使用Visual Studio 2005 Beta 2构建一个Web工程。启动Visual Studio IDE,然后从文件菜单中点击"New Web Site"以创建一个新的Web工程,并命名工程为"C:\SecurityControls"。
在Default.aspx Web表单上,拖放并加入一个LoginView控件。该LoginView控件是一个容器控件-用于根据用户是否已登录显示不同的信息。
首先,我们用文本填充LoginView控件,如图2所示。然后,把Login控件拖拽到LoginView控件上。在用户还没有被认证(匿名)之前,你刚输入的文本将被显示。该Login控件显示一个链接以允许用户被重定向到另一个页面以登录到应用程序。
在LoginView控件的"Smart Tasks"菜单上,把视图改变为"LoggedInTemplate"(见图3)。
随后改变视图,把在图4中显示的文本输入到LoginView控件。一旦用户被认证该文本即被显示。然后,把LoginName控件拖放到LoginView控件之中。该LoginName控件将显示用于登录到应用程序的用户名。
图6.增加一个模式:这是在应用彩色模式后的Login控件样式。
把Login控件拖到Login.aspx上。你可以应用格式到Login控件以使它看起来更专业化。点击Login控件的"Smart"标签并且选择"Auto Format..."链接(见图5)。
选择彩色模式之后,Login控件应该看上去如图6所示。
默认情况下,ASP.NET 2.0使用Windows认证-如果你针对互联网用户那么这种方式不够灵活。因此,你应该把认证方式从默认的Windows方式改变到表单认证方式。
添加一个Web.config文件到你的工程(在工程名字上单击右键,在解决方案资源管理器中并选择"Add New Item.... ",从可用的列表选项中选择"Web Configuration File")。
在Web.config中,通过增加下列的几行代码,从Windows认证方式改变到表单认证方式。你使用表单认证,这样你可以添加用户到你的Web站点而不需要在Windows下创建新的用户帐户。
<system.web>
<authentication mode="Forms"/>