ASP.NET MVC 音乐商店 - 7.成员管理和授权
目前,我们的 Store Manager 可以被任何人访问,让我们限制一下对站点管理的访问。
增加 AccountController 和 相应的视图
在全功能的 ASP.NET MVC3 Wb 应用程序与空的 ASP.NET MVC3 应用程序模板之间的区别在于,空的应用程序模板中没有包含账号控制器,我们可以从新创建的全功能的 ASP.NET MVC 应用程序中复制相应的文件,来增加账号控制器。
另外,在你下载的 MvcMusicStore-Assets.zip 文件中,也包含了账号管理的文件。
复制下面的内容到你的网站中。
- 复制 AccountController.cs 到 Controllers 目录中
- 复制 AccountModels.cs 到 Models 目录中
- 在 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 了
作者 冠军
最近更新
随机推荐
- Microsoft DirectShow 中的漏洞值得关
- 绝密文件:美军声称曾通过黑客行动打
- 一大学生黑客的往事历程:我悔恨因为我
- IBM WebSphere应用服务器Deployment
- MS09-054:Internet Explorer 的累积性
- 报刊渐渐消亡 传统媒体该何去何从
- CA Internet Security Suite vetmonn
- APP中的APP 产品类公众号是怎么运营的
- 易经“八卦阵”理论在广告效果分析领
- MySQL COM_FIELD_LIST命令远程溢出漏
- 熊猫卫士有不安全文件访问权限漏洞
- Condor任务提交绕过安全限制漏洞
- 微软证实Windows XP存高危0day漏洞
- 美国电影协会被控雇用黑客行窃信息
- 小米的网络文学探索:小白用户争夺战
- 马云将出任UCWeb董事 俞永福未透露阿
- 传爱奇艺明年IPO “富二代”将讲出不
- 毕业季,Oppo手机携多平台请你免费旅
- 免费的代价:免费安全软件的隐形代价
- 微软紧急增强补丁 彻底修复视频漏洞