.NET MVC ...二つの問題点/質問のためAuthorizeAttribute拡張
-
19-09-2019 - |
質問
私の最初の質問は、それがデフォルトではなく呼び出すことができるように、私はこのカスタム拡張を置けばいいのところ、あるAuthorizeAttribute?
私は現在、私のMVCソリューション以内に私のビジネスロジックのすべてを含む新しいプロジェクトを作成しました。私は私のセキュリティクラスのすべてが含まれている私のロジックプロジェクト内は.csファイルを持っています。私は、そのファイルに、私のコントローラの拡張クラスを追加してみました、それはクラスだけで罰金見ていると私は属性を追加するときにインテリセンスは私に吠えされていませんが、私がコンパイルしようとすると、私はエラーを取得し、その型または名前空間見つかりませんでした。カスタム属性は、コンパイルするために、どこか特別に収納する必要がありますか?
2つ目の質問は...最初に関連している可能性が:私はAuthorizeAttributeからAuthorizeCoreメソッドをオーバーライドしようとしているとき、私はのHttpContextとしてSystem.Web.HttpContextBaseに渡しています。いくつかの理由Visual StudioはSystem.Web.HttpContextBaseを解決することはできません。再び、これは私が私の溶液中で、このクラスを保存した場所に関連している可能性があります。それとも、私はこれを拡張するために、どこかのDLLをインポートする必要がありますか?
助言してください。
解決
私の知る限りクラスは限り、あなたは適切にあなたのウェブサイトでプロジェクトを参照してきたように、任意のクラスライブラリプロジェクトにすることができ承知していて。あなたは、プロジェクトを再コンパイルしようとする場合があります - ソースファイルを見つけることができますように聞こえるが、コードはDLLではありません。
。あなたはおそらく、あなたのプロジェクトへのSystem.Web.Abstractionsへの参照を追加する必要があります。 「ベース」のクラスはのSystem.Web名前空間にありますが、それらは別のDLLにあります。
他のヒント
これは、私の作品、私はこれはあなたを助けることを願っています。
using System.Web.Mvc;
public class CustomAuthorize : AuthorizeAttribute
{
}
In controller
[CustomAuthorize]
public class OrderController : Controller
{
}