ASP.NET MVC 音樂市集 – 7.成員管理和授權

來源:互聯網
上載者:User
文章目錄
  • 增加 AccountController 和 相應的視圖
  • 使用 ASP.NET 網站組態工具增加管理員帳號
  • 基於角色的授權
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 了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.