[英]MVC Individual User Accounts login value persisting
我有一個使用 ASP.NET Identity 的 MVC 網站。 本站可用於多個客戶數據,每個客戶相互獨立,不得共享任何數據。 每個交易都應僅在客戶選擇時發生數據。
但是,登錄的用戶可以看到所有客戶,他們只需在登錄時選擇與哪個客戶進行交易。
因此,在登錄時,他們將從下拉列表中選擇他們的客戶,然后查看所有客戶項目、個人信息以及可以為該客戶完成的獨特事情。
所以例如
var allItems = from a in db.Items where a.CustomerId = customerId select a;
這個客戶 ID 可以在登錄時獲得,因為它是用戶從下拉菜單中選擇的。 但是,如何在整個用戶登錄會話中堅持此選擇? 我顯然不想將它保存到數據庫中,因為它不是一個永久的選擇,我希望在他們注銷時選擇消失,讓他們可以在下次登錄時自由選擇另一個客戶。
另一個很酷的事情是能夠覆蓋 DbContext 中的 get 方法以僅檢索與登錄時選擇的任何客戶 ID 匹配的項目
public DbSet<Item> ItemsAll { get; set; }
public IQueryable<Item> Items
{
get
{
return ItemsAll.Where(x => x.Customer == myLoggedInCustomerChoice);
}
}
將該值添加到會話變量,並在加載頁面時對其進行檢查。
您的選擇是
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.