ASP.NET MVC 3 直到我膝盖中了一箭【6】Forms身份验证
许多 Web 应用程序都要求能够限制对某些资源(例如特定页面)的访问,以确保只有经过身份验证的用户才能访问这些资源。ASP.NET MVC 的默认 Web 应用程序项目模板提供了一个控制器以及一些数据模型和视图,您可使用这些组件为应用程序添加 ASP.NET 窗体身份验证功能。
1.帐户控制器、模型和视图
在 Controllers 文件夹中,AccountController 控制器类中包含某些操作方法,这些方法可注册新用户、在应用程序中登录和注销用户以及更改现有用户的密码。在 Views 文件夹中,Accounts 文件夹中包含支持这些操作的视图。在 Models 文件夹中,AccountModels 类包含某些类,这些类定义数据对象、服务以及支持窗体身份验证的验证例程。
在 Views 文件夹中,Shared 子文件夹包含一个名为 _LogOnPartial.cshtml 页面,该控件指示用户是否已经登录。如果用户没有登录,则该控件会显示“登录”以及指向 LogOn 视图的链接。如果用户已经登录,则该控件会显示一条欢迎消息,其中包含用户名以及用户可用以注销的链接。
1 @if(Request.IsAuthenticated) {
2 <text>欢迎使用 <b>@Context.User.Identity.Name</b>!
3 [ @Html.ActionLink("注销", "LogOff", "Account") ]</text>
4 }
5 else {
6 @:[ @Html.ActionLink("登录", "LogOn", "Account") ]
7 }
1 @Html.Partial("_LogOnPartial")
2.注册 www.zzzyk.com
在 LogOn 视图中添加一个“注册”链接。因此,每次用户登录时均会显示指向 Register 视图的链接。
1 请输入用户名和密码。@Html.ActionLink("注册", "Register")如果您没有帐户。
3.更改密码
在 _LogOnPartial.cshtml 页面中添加一个“更改密码”链接。因此,每当用户登录之后均会显示指向 ChangePassword 视图的链接。
1 [ <%: Html.ActionLink("更改密码", "ChangePassword", "Account") %> ]
4.限制对视图的访问
可以指定应用程序的哪些部分只能由经过身份验证的用户访问。限制对某个视图的访问需使用 AuthorizeAttribute 特性标记创建该视图的操作方法。可以使用 AuthorizeAttribute 特性标记某个控制器自身,以限制对该控制器所有视图的访问。
打开 HomeController 类,然后找到 About 操作方法,将 AuthorizeAttribute 特性添加到 About 操作方法声明中。
1 //限制对 About 视图的访问。
2 [Authorize]
3 public ActionResult About()
4 {
5 return View();
6 }
单击“关于”选项卡,将显示 LogOn 视图,因为现在您必须登录才能查看 About 页面。
摘自 依信依誉
补充:Web开发 , ASP.Net ,