MVC 音乐商店是介绍,并分步说明了如何使用 ASP.NET MVC 和 Visual Studio 为 web 开发教程应用程序。
MVC 音乐商店是一个轻量级的示例存储实现它卖音乐专辑在线,并实现基本的网站管理、 用户登录,和购物车功能。
这个系列教程详细说明所有为构建 ASP.NET MVC 音乐商店示例应用程序采取的步骤。第 7 部分包括成员资格和授权。
我们店经理控制器是当前可访问到的任何访问我们的网站。让我们更改此设置以限制对站点管理员的权限。
添加的 AccountController 和视图
完整的 ASP.NET MVC 3 Web 应用程序模板和 ASP.NET MVC 3 空 Web 应用程序模板之间的一个区别是空模板不包括帐户控制器。我们将通过从完整的 ASP.NET MVC 3 Web 应用程序模板创建新的 ASP.NET MVC 应用程序中复制几个文件添加一个帐户控制器。
创建新的 ASP.NET MVC 应用程序使用的完整的 ASP.NET MVC 3 Web 应用程序模板,并将以下文件复制到同一目录中我们的项目:
- 控制器目录中复制 AccountController.cs
- 在模型目录中复制 AccountModels
- 创建帐户目录里面的意见目录并将所有四个视图中复制
更改为控制器和模型的类的命名空间,因此他们以 MvcMusicStore 开头。AccountController 类应使用 MvcMusicStore.Controllers 命名空间,并且,AccountModels 类应使用 MvcMusicStore.Models 命名空间。
注: 这些文件也是从中我们复制了我们的网站设计文件在本教程开始时的 MvcMusicStore Assets.zip 下载内容中提供的。成员资格文件位于代码目录中。
更新后的解决方案应该如下所示:
添加管理用户 (使用 ASP.NET 配置站点
我们在我们的网站需要授权之前,我们需要创建一个用户具有访问权限。创建用户的最简单方法是使用内置的 ASP.NET 配置网站。
通过单击以下解决方案资源管理器中的图标启动 ASP.NET 配置网站。
这将启动配置的网站。在主屏幕上,安全选项卡上单击然后单击"启用角色"链接,在屏幕的中心。
单击"创建或管理角色"链接。
输入"管理员"角色名称然后按添加角色按钮。
单击后退按钮,然后单击左侧创建用户链接。
填写用户信息字段左边使用以下信息:
字段 | 价值 |
用户名称 | 管理员 |
密码 | password123! |
确认密码 | password123! |
电子邮件 | (任何电子邮件地址将工作) |
安全问题 | (不管你喜欢) |
安全答案 | (不管你喜欢) |
注意: 你当然可以使用任何你想的密码。上面的密码所示的示例中,并假设在 CodePlex 上支持论坛。默认的密码安全设置要求是 7 个字符长,包含一个非字母数字字符的密码。
选择此用户的管理员角色,请单击创建用户按钮。
此时,您应该看到一个消息,指示该用户成功创建。
您现在可以关闭浏览器窗口。
基于角色的授权
我们现在可以限制对 StoreManagerController 使用 [授权] 属性中,指定的用户必须在要访问类中的任何控制器操作的管理员角色的访问。
[Authorize(Roles = "Administrator")]
public class StoreManagerController : Controller
{
// Controller code here
}
注意: 关于具体的操作方法和控制器类一级,可以放 [授权] 属性。
现在浏览到 /StoreManager 显示一个登录对话框: