単一のパラメーターを文字列として受け取る単純なアクションがあります。これは、正常に機能しているユーザープロファイルページを返します。
しかし、ユーザーは今日、ログインしない限り自分のプロファイルを見ることができないと言っていました。ログインページにリダイレクトされるだけです。
IIS7ログファイルを確認しましたが、302ステータスが返され、ログインページが読み込まれていることがわかります。
動作しないページは次のとおりです。
正常に機能する例を次に示します。
アクション/コントローラーに承認属性はありません。HeliconApeをインストールして、いくつかのカスタムリダイレクトを管理していますが、これを無効にしても同じ結果が得られます。
私はここで、特定のプロファイルでのみこれを引き起こす可能性があるものにかなり戸惑っています、何かアイデアはありますか?
編集:
デフォルトまたはカスタムのどのレベルでも、承認属性は明確にありません。私の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);
}
ポール