2011-06-20 16 views
1

我有一個簡單的動作,需要一個單一的放慢參數爲字符串頁面,它返回它做工精細一個用戶的個人資料頁面。ASP.NET MVC - 以及參數,動作被重定向到登錄這不應該是

但是用戶告訴我今天沒有人能看到他的個人資料,除非登錄,它只是重定向到登錄頁面。

我已經檢查了IIS7日誌文件,我可以看到它返回302種狀態,然後加載登錄頁面。

這裏是行不通的頁面:

http://www.house-mixes.com/profile/mixchemist/

這裏是一個正常工作的例子:

http://www.house-mixes.com/profile/housemixes/

有沒有授權attri在動作/控制器上有butes,我有Helicon Ape安裝,爲我管理一些自定義重定向,但是我禁用了這個,仍然得到相同的結果。

我很困惑在這裏,是什麼引發這隻能在一定的個人資料,任何想法?

編輯:

有definetly沒有授權任何級別,默認或自定義屬性。我的web.config是非常標準的,而且我在使用MVC2:

<authentication mode="Forms"> 
     <forms cookieless="UseCookies" enableCrossAppRedirects="true" loginUrl="~/Login" name=".ASPXAUTH" slidingExpiration="true" timeout="100000" requireSSL="false" /> 
    </authentication> 

這裏是我的控制器動作(僅在控制器級別爲[的HandleError]屬性):

[Transaction] 
[PassParametersDuringRedirect] 
[ModelStateToTempData] 
[HttpGet] 
public ActionResult Index(string artist) 
{ 
    Account account = accountTasks.GetProfileByUsername(artist); 

    if (account == null) 
     return RedirectToAction<HomeController>(x => x.Index(), null); 

    var viewModel = Mapper.Map<Account, ProfilePageViewModel>(account); 

    return View(viewModel); 
} 

保羅

+0

是否嘗試過在您的開發環境中模擬該問題? –

+0

是否有任何自定義邏輯,用於檢查用戶是否有權查看特定配置文件,是否重定向到登錄頁面? – lancscoder

回答

1

發現的問題,你說得對,有一個授權屬性放置在控制器內的動作,該控制器是被稱爲由於視圖內Html.RenderAction()。

它不是爲特定用戶工作的原因是因爲我允許用戶以不同的小部件添加到他們的個人資料,安排他們如何選擇,這是一個特定的小工具,有授權的屬性上。

以爲我會回覆答案,以防將來任何人丟掉。

3

這絕對看起來像一個需要身份驗證的操作。由於您沒有顯示任何代碼,也沒有解釋您的網站如何工作和組織,但您可能會開始尋找[Authorize]屬性(自定義或默認的屬性,以及全局操作過濾器(如果這是一個ASP),不知道問題來自何處。 NET MVC 3應用程序)以及您的web.configs中的<authorization>部分。

這與運行一些自定義代碼完全相關,只是需要身份驗證才能訪問此資源。

1

PM>Install-Package Glimpse

使用由一瞥的Web Debugger提供獲得的MVC看到的一個非常明確的想法的工具。

+0

好的我現在已經安裝了這個,但是我不確定我需要看什麼......它只會顯示關於重定向之後的登錄頁面而不是簡介頁面的信息。 –

+0

@Paul Hinett在那裏你的陳述似乎是你被重定向之前,你可以看到任何結果從一瞥,我會看看是否有一個選項,讓您的網頁瀏覽器請求批准重定向,所以你可以得到在重定向之前輸出它的路由信息​​和MVC動作信息。 |如果這看起來毫無結果,你可以探索一下,看看你是否可以登錄到磁盤或類似的東西,讓你看到你需要的信息。 –

+0

另一個需要注意的是,瞥見的REMOTE選項卡應該讓你看到最近請求的歷史記錄,以便重定向不應該成爲問題。 –

相關問題