2011-07-21 61 views
1

我有小問題,我實現了我自己的會員供應商,它工作正常。我在控制器中添加用戶ID到文章這段代碼:自定義會員供應商獲得當前登錄用戶

[HttpPost, Authorize, ValidateInput(false)] 
     public ActionResult Vytvorit(Article newArticle) 
     { 
      if(ModelState.IsValid){ 
        if(!User.Identity.IsAuthenticated) 
        return View(newArticle); 
       newArticle.User.UserID = (int)Membership.GetUser().ProviderUserKey; 

      repo.Save(newArticle); 
      return RedirectToAction("Zobrazit", new {id=newArticle.ArticleID}); 
      } 
      return View(newArticle); 
     } 

,這是工作,但現在很多的變化後(在另一個控制器,模型等),我想有一些問題membership.getuser返回null。

我試圖谷歌它,我發現可能存在的問題,認證的用戶不能在成員資料數據源中找到。但我不知道如何解決它。

感謝

編輯: MyMembershipProvider

+0

你能告訴您的自定義成員資格提供代碼? –

+0

我從membershipprovider添加了我所有的代碼,希望它有幫助 –

+1

'MyMembership'不包含'GetUser'的方法,它接受我可以告訴的零參數。只有一個實現可以接受'string'和'bool'。所以,也許你複製並粘貼了舊代碼,但是我看不到你的控制器甚至編譯了。 –

回答

0

我發現這個鏈接非常有用。作家對定製會員提供商有很好的解釋。 接力幫助,

http://thekfactor.info/articles

+3

雖然這可能會在理論上回答這個問題,[這將是更可取的](http://meta.stackexchange.com/q/8259)在這裏包括答案的基本部分,並提供供參考的鏈接。 – oers