ASP.NET MVC3書店–第七節 使用者及身分識別驗證

來源:互聯網
上載者:User
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所示。

圖7-1 檔案拷貝完畢後的方案總管

    修改AccountController.cs與AccountModels.cs檔案中的命名空間,將AccountController.cs檔案中 的命名空間修改為MvcBookStore.Controllers,將AccountModels.cs檔案中的命名空間修改為 MvcBookStore.Models。

7.2    使用ASP.NET設定網站追加一個管理員

    在進行驗證訪問使用者是否為管理使用者之前,我們首先需要建立管理使用者。建立管理使用者的最簡單的方法是使用ASP.NET內建的設定網站。

    點擊方案總管中7-2所示的表徵圖來登陸ASP.NET設定網站。

圖7-2 點擊表徵圖登陸ASP.NET設定網站

    登陸之後,點擊首頁中的“安全”標籤。然後點擊“啟用角色”連結,7-3所示。

圖7-3 在ASP.NET設定網站中啟用角色

    點擊“建立或管理角色”連結,7-4所示。

圖7-4 在ASP.NET設定網站中建立角色

    在新角色名稱文字框中輸入角色名稱“管理員”,然後點擊“添加角色”按鈕。7-5所示。

圖7-5 在ASP.NET設定網站中添加管理員角色

    點擊“上一步”按鈕,然後點擊左邊的“建立使用者”連結。7-6所示。

圖7-6 在ASP.NET設定網站中建立使用者

    在左邊的輸入文字框中填入類似如下表中所示的資訊。

 

文字框

User Name

admin

Password

password&

Confirm Password

Password&

E-mail

(填入一個郵件地址)

Seurity Question

(填入任意內容)

Security Answer

(填入任意內容)

 

    為這個使用者選擇管理員角色,然後點擊“建立使用者”按鈕,7-7所示。

圖7-7在ASP.NET設定網站中建立使用者

    這時,你將看見一條資訊,標識該使用者已被建立成功。

圖7-8 標識使用者建立成功的資訊

    現在你可以將這個瀏覽器視窗給關閉掉了。

7.3    基於角色的使用者驗證

    現在我們可以使用[Authorize]屬性來限制只有管理員可以訪問StoreManager控制器了。代碼如下所示。

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

public class StoreManagerController : Controller

{

    // Controller code here

}

    請注意,[Authorize]屬性即可以用來限制對於整個控制器的訪問,也可以用來限定對於控制器中某個action方法的訪問。

    現在訪問“/StoreManager”URL地址時,會首先出現一個登陸對話方塊,7-9所示。


圖7-9 訪問StoreManager控制器必須首先要求登陸

    使用我們建立的使用者身份進行登陸,將可以繼續看見書籍列表畫面。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.