![](/img/trans.png)
[英]How to use multiple login pages in .ASP.NET Core MVC and unauthorized user redirect different login page
[英]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.