Fork me on GitHub
ASP.NET MVC 音乐商店

目前,我们的 Store Manager 可以被任何人访问,让我们限制一下对站点管理的访问。

增加 AccountController 和 相应的视图

在全功能的 ASP.NET MVC3 Wb 应用程序与空的 ASP.NET MVC3 应用程序模板之间的区别在于,空的应用程序模板中没有包含账号控制器,我们可以从新创建的全功能的 ASP.NET MVC 应用程序中复制相应的文件,来增加账号控制器。

另外,在你下载的 MvcMusicStore-Assets.zip 文件中,也包含了账号管理的文件。

复制下面的内容到你的网站中。

  1. 复制 AccountController.cs 到 Controllers 目录中
  2. 复制 AccountModels.cs 到 Models 目录中
  3. 在 Views 目录中创建 Account 目录,然后复制相应的四个视图。

注意修改控制器和模型类的命名空间为 MvcMusicStore。AccountController 类应该为 MvcMusicStore.Controllers 命名空间,AccountModels 类应用使用 MvcMusicStore.Models 命名空间。

更新之后的解决方案看起来如下所示:

使用 ASP.NET 站点配置工具增加管理员账号

 

在我们授权访问网站之前,需要先创建一个管理员账号,最简单的方式就是使用内建的 ASP.NET 站点管理工具创建。

在解决方案管理器上,点击站点配置工具

稍等片刻,将会弹出一个浏览器窗口,点击首页中的安全选项卡,然后,点击屏幕中间的“启用角色”链接。

 

点击“创建或管理角色”链接。

 

在角色名称的输入框中输入 “Administrator”,点击增加角色按钮。

点击返回按钮,点击屏幕左边创建用户的链接。

使用下面的信息填写用户资料。

 Field               Value

User Name             Administrator

Password          password123!

Confirm Password   password123!

E-mail            (any e-mail address will work)

Security Question   (whatever you like)

Security Answer     (whatever you like)

注意:你可以使用任何你愿意的口令,但是,默认的密码规则要求口令至少为 7 个字符,其中包含至少一个非字母和数字的字符。

注意选择 Administrator 角色,

用户创建成功了。

现在,你可以关掉这个窗口。

基于角色的授权

现在,我们可以使用 [Authorize] 标注来限制对 StoreManager 控制器的访问了,设置访问 StoreManager 任何 Action 的用户必须拥有 Administrator 的角色。

[Authorize(Roles = "Administrator")]
public class StoreManagerController : Controller
{
// Controller code here
}

注意,[Authorize] 也可以用在 Action 方法上。

现在浏览 /StoreManager ,将会被导航到登陆页面上。

 使用具有 Administrator 角色的账号登陆之后,就可以进入 StoreManager 了。

ASP.NET MVC 音乐商店 - 7.成员管理和授权

posted @ 2011-11-18 04:09 冠军 阅读(713) | 评论 (0) 编辑

ASP.NET MVC 音乐商店 - 6. 使用 DataAnnotations 进行模型验证

posted @ 2011-11-16 22:44 冠军 阅读(798) | 评论 (1) 编辑

ASP.NET MVC 音乐商店 - 5 通过支架创建编辑表单 续

posted @ 2011-11-15 20:18 冠军 阅读(1072) | 评论 (2) 编辑

ASP.NET MVC 音乐商店 - 5. 通过支架创建编辑表单

posted @ 2011-11-15 03:30 冠军 阅读(1360) | 评论 (4) 编辑

ASP.NET MVC 音乐商店 - 4. 数据访问

posted @ 2011-11-13 22:43 冠军 阅读(1560) | 评论 (12) 编辑

ASP.NET MVC 音乐商店 - 3. 视图与模型

posted @ 2011-11-11 19:25 冠军 阅读(1266) | 评论 (5) 编辑

ASP.NET MVC 音乐商店 - 2.控制器

posted @ 2011-11-10 19:47 冠军 阅读(1267) | 评论 (7) 编辑

ASP.NET MVC 音乐商店 - 1 创建项目

posted @ 2011-11-09 20:42 冠军 阅读(1379) | 评论 (12) 编辑

ASP.NET MVC 音乐商店 - 0 概览

posted @ 2011-11-08 21:46 冠军 阅读(1838) | 评论 (17) 编辑

MVC View 中 html 属性名与关键字冲突问题的分析与解决

posted @ 2011-09-07 12:20 冠军 阅读(352) | 评论 (5) 编辑

ASP.NET MVC 模型绑定的 6 个建议

posted @ 2011-08-01 18:57 冠军 阅读(781) | 评论 (4) 编辑

测试 MVC 之 Mock HttpContext

posted @ 2011-07-24 20:21 冠军 阅读(1211) | 评论 (5) 编辑

MVC2 强类型的 HTML Helper

posted @ 2011-05-13 11:35 冠军 阅读(529) | 评论 (0) 编辑

EF Code First 和 ASP.NET MVC3 工具更新

posted @ 2011-05-06 22:59 冠军 阅读(3268) | 评论 (9) 编辑

NuGet Action Plan - 更新到 1.1, 设置自动更新,获取 NuGet 包浏览器

posted @ 2011-04-26 16:00 冠军 阅读(1148) | 评论 (4) 编辑

使用 zip 压缩包手动安装 Orchard

posted @ 2011-04-22 22:09 冠军 阅读(1119) | 评论 (0) 编辑

翻译:使用 Entity Framework 4.x 进行代码优先 (Code-First) 开发

posted @ 2011-04-03 13:13 冠军 阅读(2236) | 评论 (11) 编辑

ASP.NET MVC3 Service Location

posted @ 2011-01-22 17:56 冠军 阅读(1944) | 评论 (5) 编辑

在没有安装 ASP.NET MVC3 的服务器上运行 MVC3

posted @ 2011-01-20 00:43 冠军 阅读(4080) | 评论 (14) 编辑

ASP.NET MVC 3 概述

posted @ 2011-01-15 22:17 冠军 阅读(6695) | 评论 (10) 编辑

ASP.NET MVC3 及其学习资源

posted @ 2011-01-14 23:09 冠军 阅读(10525) | 评论 (8) 编辑

posted on 2011-11-18 12:24  HackerVirus  阅读(387)  评论(0编辑  收藏  举报