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


    MusicStore 项目的完整配套视频!

    目前,我们的 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 了。

  • 相关阅读:
    洛谷-P5743 【深基7.习8】猴子吃桃
    洛谷-P5741 【深基7.例10】旗鼓相当的对手
    洛谷-P5740 【深基7.例9】最厉害的学生
    洛谷-P5739 【深基7.例7】计算阶乘
    jvm中常见的指令笔记
    join()方法的源码分析
    Java中线程状态的各种转换关系
    java构造器遇到父类没有无参构造的分析
    jvm栈和堆
    spring新注解
  • 原文地址:https://www.cnblogs.com/haogj/p/2253140.html
Copyright © 2020-2023  润新知