簡體   English   中英

ASP.Net MVC 5如何在多個登錄名(多個用戶表)中使用授權屬性

[英]ASP.Net MVC 5 how to use Authorize Attribute with multiple login (Multiple user table)

我是ASP.NET MVC 5的新手。在我正在開發的項目中,我有兩個用戶表:一個用於客戶,一個用於員工。 我需要創建兩種不同的登錄表單:一種用於客戶,一種用於員工。 客戶將有權訪問網站的特定部分,員工將有權訪問另一個不同的部分。 每個部分都有自己的動作。 如何使用“授權”屬性來區分客戶與雇員?

您可以將角色屬性用於不同類型的用戶。

[Authorize(Roles="Users")]
public class UserController: Controller
{
}

[Authorise(Roles="Employees")]
public class EmployeeController: Controller
{
}


[Authorize(Roles = "User,Customer")]
public ActionResult RoleType()
{                        
    return View();
}

public class MyController : Controller
{
    private const string UserRole = "User";
    private const string EmployeeRole = "Employee";

    [Authorize(Roles = UserRole + "," + EmployeeRole)]
    public ActionResult UserOrEmployee()
    {                        
        return View();
    }
}

現在只有具有該角色的用戶才能訪問控制器。 例如,角色類型為“雇員”的用戶只能訪問雇員控制器,並且角色類型為“用戶”的用戶只能訪問用戶控制器。

關於創建不同的登錄表單,完全沒有必要。 您可以為兩個角色使用一個登錄表單,但根據登錄時要查看的內容,可以使用User.IsInRole進行驗證,並可以重定向它們或您選擇的其他一些操作。

當然,這是“ The Ahhemist”提供的答案的補充。

暫無
暫無

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

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