2017-02-03 221 views
0

我正在研究ASP.NET Core應用程序,它具有兩種類型的用戶角色adminuseruser擁有自己的儀表板和其他頁面,admin也有自己的儀表板和其他頁面。這兩個用戶都通過相同的登錄頁面登錄並重定向到相同的域,例如abc.com。現在admin想要通過訪問abc.com/User/{userName}(只能由管理員訪問)更改用戶帳戶中的設置。當管理員訪問abc.com/User/{userName}時,我想根據userName參數顯示整個用戶儀表板和設置,如正常user在登錄帳戶後會看到的。如果我回到abc.com那麼它會顯示管理員帳戶,如果我去abc.com/User/{userName}它會顯示我特定的用戶帳戶。我如何實現這一目標?我想避免編寫額外的代碼來從管理員端編輯用戶帳戶詳細信息。訪問用戶帳戶和更改設置將更加容易。 adminuser都具有相同的佈局頁面,並且相同的控制器被稱爲UserControllerASP.NET Core從管理員帳戶訪問用戶帳戶

回答

0

其簡單

if(User.HasClaim(yourAdminClaim)) 
{ 
//do admin stuff and pass to view 
} 
else 
{ 
//do user stuff and pass to view 
} 
+0

管理員希望通過訪問abc.com/user/{username},而不從自己的管理員帳戶註銷登錄到用戶帳戶。通過此鏈接登錄應該與正常登錄相同。 –