• ASP.NET MVC3书店第七节 用户及身份验证(转)


    http://blog.sina.com.cn/s/blog_6ad539a90100r7jx.html

    现在的问题是任何用户都可以通过StoreManager控制器来访问我们的书籍管理页面。接下来让我们添加权限设置,限定只有管理员可以访问该页面。

    7.1    追加Account(帐户)控制器及视图

        在ASP.NET MVC 3中,一个完整的的Web应用程序模板与空的Web应用程序模板的区别之一就是空的模板中不包括Account(帐户,或者说用户)控制器。我们的做法是任意新建一个具有完整的ASP.NET MVC3 Web应用程序模板的应用程序,然后从中拷贝一些文件过来。

        任意创建一个具有完整模板的ASP.NET MVC3 Web应用程序,然后将下列文件拷贝到本应用程序的相同位置处。

        1.拷贝AccountController.cs到Controllers文件夹下。

        2.拷贝AccountModels.cs到Models文件夹下。

        3.在Views文件夹下创建Account文件夹,然后将新的应用程序中Account文件夹中的四个视图模板文件拷贝进来。

        拷贝完毕后的解决方案资源管理器应该如图7-1所示。

    ASP.NET <wbr>MVC3书店--第七节 <wbr>用户及身份验证

    图7-1 文件拷贝完毕后的解决方案资源管理器

        修改AccountController.cs与AccountModels.cs文件中的命名空间,将AccountController.cs文件中 的命名空间修改为MvcBookStore.Controllers,将AccountModels.cs文件中的命名空间修改为 MvcBookStore.Models。

    7.2    使用ASP.NET设置网站追加一个管理员

        在进行验证访问用户是否为管理员用户之前,我们首先需要创建管理员用户。创建管理员用户的最简单的方法是使用ASP.NET内置的设置网站。

        点击解决方案资源管理器中如图7-2所示的图标来登陆ASP.NET设置网站。

    ASP.NET <wbr>MVC3书店--第七节 <wbr>用户及身份验证

    图7-2 点击图标登陆ASP.NET设置网站

        登陆之后,点击主页中的“安全”标签。然后点击“启用角色”链接,如图7-3所示。

    ASP.NET <wbr>MVC3书店--第七节 <wbr>用户及身份验证

    图7-3 在ASP.NET设置网站中启用角色

        点击“创建或管理角色”链接,如图7-4所示。
    ASP.NET <wbr>MVC3书店--第七节 <wbr>用户及身份验证
    图7-4 在ASP.NET设置网站中创建角色

        在新角色名称文本框中输入角色名“管理员”,然后点击“添加角色”按钮。如图7-5所示。

    ASP.NET <wbr>MVC3书店--第七节 <wbr>用户及身份验证

    图7-5 在ASP.NET设置网站中添加管理员角色

        点击“上一步”按钮,然后点击左边的“创建用户”链接。如图7-6所示。

    ASP.NET <wbr>MVC3书店--第七节 <wbr>用户及身份验证

    图7-6 在ASP.NET设置网站中创建用户

        在左边的输入文本框中填入类似如下表中所示的信息。

     

    文本框

    User Name

    admin

    Password

    password&

    Confirm Password

    Password&

    E-mail

    (填入一个邮件地址)

    Seurity Question

    (填入任意内容)

    Security Answer

    (填入任意内容)

     

        为这个用户选择管理员角色,然后点击“创建用户”按钮,如图7-7所示。

    ASP.NET <wbr>MVC3书店--第七节 <wbr>用户及身份验证

    7-7ASP.NET设置网站中创建用户

        这时,你将看见一条信息,标识该用户已被创建成功。

    ASP.NET <wbr>MVC3书店--第七节 <wbr>用户及身份验证

    图7-8 标识用户创建成功的信息

        现在你可以将这个浏览器窗口给关闭掉了。

    7.3    基于角色的用户验证

        现在我们可以使用[Authorize]属性来限制只有管理员可以访问StoreManager控制器了。代码如下所示。

    [Authorize(Roles = "管理员")]

    public class StoreManagerController : Controller

    {

        // Controller code here

    }

        请注意,[Authorize]属性即可以用来限制对于整个控制器的访问,也可以用来限定对于控制器中某个action方法的访问。

        现在访问“/StoreManager”URL地址时,会首先出现一个登陆对话框,如图7-9所示。

    ASP.NET <wbr>MVC3书店--第七节 <wbr>用户及身份验证
    图7-9 访问StoreManager控制器必须首先要求登陆

        使用我们创建的用户身份进行登陆,将可以继续看见书籍列表画面。

     

  • 相关阅读:
    二叉树重建leetcode
    leetcode 字符串
    leetcode first missing positive,覆盖区间
    leetcode 较难题
    Linq分页
    Linq 数据库通用的操作类
    .Net3.5扩展方法实现对象JSON序列化
    js 判断输入内容(主要针对汉字)的字节长度
    div 内table 居中
    Linq增、删、改、查
  • 原文地址:https://www.cnblogs.com/quietwalk/p/2098167.html
Copyright © 2020-2023  润新知