1

現在MVC4を使用しています。

  • プロジェクトにファイル(画像、ドキュメント、PDFファイル)を含むフォルダーがあります。
  • 各ファイルにアクセスする権限を持つユーザーのリスト(.netメンバーシップガイド)を含むデータベースがあります。

私が現在調査していることと、MVCで行ったことがないので、アドバイスを求めています。

ファイルのhttpリクエストをキャッチし、ユーザーがアクセスする権限を持っているかどうかを実行時に決定する方法に関するヒントはありますか?MVCでそれを可能にするhttpハンドラーの種類はありますか?他のアイデアやヒントはありますか?

前もって感謝します!..

PnP

4

1 に答える 1

1

新しいコントローラーメソッドを作成してFileAuthorizeAttribute装飾します。

public class FileAuthorizeAttribute: AuthorizeAttribute
{
    protected override bool IsAuthorized(HttpActionContext actionContext)
    {
        if (base.IsAuthorized(actionContext))
        {
            // check if guid is in your database
        }

        return false;
    }

    public override void OnAuthorization(HttpActionContext actionContext)
    {
        base.OnAuthorization(actionContext);
    }
}

public class FileController : Controller
{
    [FileAuthorize]
    public FileResult Load(string fileName)
    {
        //return File(fileName, contentType);
    }
}
于 2012-11-13T19:08:12.687 に答える