7

會員用戶在一般asp.net網站與MembershipRoles和哈希密碼啓用,我想提供管理員impersonation,使他們可以瀏覽網站,用戶一樣。該網站的功能就好像該用戶已登錄,然後能夠恢復爲他們自己的登錄。冒充在ASP.NET

實現此目標的最佳方法是什麼?

示例用例:具有兩種類型用戶的網站:'Buyer'和'Admin'。 該網站提供了一個'購買'按鈕來購買管理員專門提供給用戶的東西。即只有買方纔能使用購買按鈕並付款。 用戶遇到問題時,支持管理員可以代表他們「冒充」用戶的登錄和購買行爲,或者「查看」他們面臨的問題。

如果沒有模擬,唯一的方法就是在代碼中允許這樣做,並且否定了「查看用戶問題」的目的。即使我沒有使用散列密碼,也沒有使用FormsAuthentication.SignOut()並以用戶身份手動登錄管理員。

我希望我在上面說得通。

回答

1

我沒有我們在前面做的代碼(幾年前的任務),但是Membership API中有一些位用於簽署使用代碼的人。直到本週末我才能訪問代碼,不幸的是,或者我可以快速分享這些代碼並完成這些工作。

我記得你必須首先獲得用戶,作爲MembershipUser,使用Membership類。從這一點來看,我不確定是否必須針對提供商或什麼進行驗證。我們確實使用了定製提供商,但我忘記了它是否與此解決方案相關。

無論如何,檢查安全位,關注會員和會員用戶。

6

在codeproject.com上查看this sample。我認爲它符合你的要求。

+0

謝謝,看起來像一個很好的起點 –