2013-07-09 43 views
0

從我一直在閱讀的內容中,下面的代碼首先應該確保MembershipUser記錄存在於「ArthurDent」中,然後將「ArthurDent」設置爲當前用戶,最後將其MembershipUser記錄分配給變量mUser。如何爲WebPartManager設置當前用戶?

if (Membership.GetUser("ArthurDent") == null) 
{ 
    Membership.CreateUser("ArthurDent", "thisisapassword"); 
} 
FormsAuthentication.SetAuthCookie("ArthurDent", true); 
MembershipUser mUser = Membership.GetUser(); 

而是,變量mUser保持爲空。

我的目標是以編程方式將當前用戶設置爲有效記錄,以便在將BlogEngine添加到我的網站時,我可以在頁面上設置WebPartManager.DisplayMode,該頁面開始出錯。

回答

0

答案是BlogEngine主動禁止Page.User.Identity的正常工作,Membership.GetUser()檢索。當我換成FormsAuthentication.SetAuthCookie從BlogEngine下面的代碼...

Security.AuthenticateUser("ArthurDent", "thisisapassword", true); 

...它驗證亞瑟和記錄他。

0

當應用程序中斷web.config文件中定義的規則時,通常會發生此問題。例如,我在我的本地環境中使用Windows身份驗證和CreateUser首次運行您的代碼失敗,因爲密碼字符串的長度不足。我用額外的字符填充了密碼,並能夠使用提供的代碼創建用戶。檢查該部分以檢查密碼先決條件。 初次檢查時,這看起來像一個配置問題。

+0

我已經成功地創建用戶。修復之後,mUser變量是否會設置爲您的預期記錄? –

相關問題