1

単一のパラメーターを文字列として受け取る単純なアクションがあります。これは、正常に機能しているユーザープロファイルページを返します。

しかし、ユーザーは今日、ログインしない限り自分のプロファイルを見ることができないと言っていました。ログインページにリダイレクトされるだけです。

IIS7ログファイルを確認しましたが、302ステータスが返され、ログインページが読み込まれていることがわかります。

動作しないページは次のとおりです。

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

正常に機能する例を次に示します。

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

アクション/コントローラーに承認属性はありません。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);
}

ポール

4

3 に答える 3

3

それは間違いなく認証を必要とするアクションのように見えます。[Authorize]コードを表示しておらず、サイトの動作と構成についても説明していないため、問題の原因はわかりませんが、属性(カスタムまたはデフォルトの属性、およびASP.NETの場合はグローバルアクションフィルター)を探し始めることができます。 MVC 3アプリケーション)および<authorization>web.configsのセクション。

これは、実行され、このリソースにアクセスするために認証を必要とするカスタムコードに完全に関連しています。

于 2011-06-20T13:28:31.140 に答える
1

PM>インストール-パッケージの概要

Glimpse Web Debuggerが提供するツールを使用して、MVCが何を認識しているかを非常に明確に把握します。

于 2011-06-20T13:49:01.997 に答える
1

問題が見つかりました。コントローラー内のアクションにAuthorize属性が配置されており、ビュー内のHtml.RenderAction()が原因でコントローラーが呼び出されていたと言っていました。

特定のユーザーに対して機能しなかった理由は、ユーザーがプロファイルにさまざまなウィジェットを追加して選択方法を調整できるようにするためです。これは、Authorize属性がオンになっている特定のウィジェットでした。

将来誰かを捨てる場合に備えて、私は答えをポストバックすると思いました。

于 2011-06-21T11:56:38.500 に答える