2011-08-07 22 views
0

對於我的應用程序,當用戶登錄時,我需要檢查他們是否有任何角色分配給他們,如果他們沒有分配他們的基本角色。同樣基於他們的角色,我必須將他們重定向到某些頁面。但我不能找到一種方法來檢查/設置用戶的角色,當他們登錄。如何在登錄後立即檢查/分配用戶的角色?

[HttpPost] 
    public ActionResult LogOn(LogOnModel model, string returnUrl) 
    { 
     if (ModelState.IsValid) 
       { 
       if (MembershipService.ValidateUser(model.UserName, model.Password)) 
       { 
         FormsService.SignIn(model.UserName, model.RememberMe); 
        if(User.IsInRole("User")) 
//This won't work becauser User is not populated yet. It will be populated only on next request for some reason that has to do with setting cookies 
    } 

任何想法如何來解決這一問題?

回答

0

顯然Roles.IsUserInRole方法允許通過字符串作爲用戶名,所以它是可以檢查用戶會員資格,而無需調用用戶對象。

0

有些事情是這樣的嗎?

if(User.IsInRole(model.UserName, "User")) 
+0

那麼問題是,類似的東西不起作用,當用戶剛剛登錄。用戶對象是空的。它僅在下一次請求時才填充數據。我已經在我的代碼塊的內嵌評論中解釋過了。 – m0s

+0

哦,我很抱歉這個答案!我只是想寫你可以直接調用RoleProvider,有2個參數,就像你在回答和打印錯誤,鍵入User而不是角色。男人,抱歉... – IceN

相關問題