簡體   English   中英

簡單的會員管理權限

[英]Simple Membership Admin Accout

我正在開發我的第一個ASP.Net MVC 4應用程序,現在遇到了一個簡單的用例。

我需要對一個用戶(管理員)進行身份驗證,以便他/她可以登錄到管理員區域來執行某些任務。 盡管ASP.Net互聯網項目模板具有使用簡單成員身份的“帳戶”控制器,但這似乎遠遠超出了我的實際需求。 例如,我實際上並不需要用戶注冊功能和用戶角色。 我的要求非常簡單,只需將一個用戶存儲在數據庫中,給他選擇更新其信息(如密碼,電子郵件等)的選項,並授予他訪問管理區域(管理員和操作)的權限。 我不知道的是

  1. 對於這種簡單情況,是簡單成員資格還是其他asp.net成員資格提供者是我唯一的選擇。
  2. 如果沒有,我還有什么其他選擇可以使用[Authorize]保護管理員操作

您可以構建自定義方法來獲取用戶及其存儲的角色,然后在控制器中對其進行評估。 因此,例如:

public ActionResult GetAdminPage()
{
    var loggedInUserName = HttpContext.User.Identity.Name;
    var user = somesortofproviderlookupmethod(loggedInUserName);

    // Assume user is a bool and is true
    if (user)
    {
        return view("AdminPage");
    }
}

我唯一不確定的是HttpContext.User是否需要成員身份。 也許有人可以闡明。 如果是這樣,也許您可​​以從視圖發送用戶名,但是當然您是在信任客戶端。 因此,您進行用戶身份驗證的方式將稍微改變此答案。

就個人而言,我喜歡會員資格。 它干凈,簡單,快速,如果最終有其他要求,可以很好地擴展。 使用成員身份可以更輕松地執行此操作,因為這樣您就可以實際使用Roles.GetRolesForUser();了。 並且僅在管理員視圖包含您要查找的角色時才返回。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM