ユーザーがログインしているかどうかを判断するためのコードがあります。これをASP.NET Webサイトのすべてのページに配置して、ログインしたユーザーのみが閲覧できるようにしたいと思います。問題はサイトが複数のプロジェクト/ソリューションに分割されているため、単一のコードを維持するのが難しいかもしれないということです。ASP.NETで認証チェックを行う場所
System.Web.UI.Page
を継承し、Page_Init
を上書きするクラスを作成できたと考えていましたが、新しいページを新しいクラスから継承するようにすべてのページを変更する必要がありました。また、私はこれがプロジェクト全体で機能するとは思わない。
それで、私は別の側から問題に近づくことを考えました:AOPを使用します。以前はアスペクトを使用したことはありませんでしたが、PostSharpを使用して、すべてPage_Init
(またはおそらくPage_Load
?)のコードを挿入するAspectを書くことができるようです。これは簡単な解決策として機能するかもしれませんが、認証チェックを実行しないようにするページが必要な場合は、問題が発生する可能性があります。
私はすでにログインソリューションを持っています。私はちょうど各ページのログインを確認することを探しています。
['MembershipProvider'](http://msdn.microsoft.com/en-us/library/yh26yfzy.aspx)を使用していないのはなぜですか?これはすべてASP.NETによって実現されました。 – jrummell
一般に、ASP.NETページは、ログインチェックを含む共通コードが集中しているマスターページ上に構築する必要があります。 2つのマスターページを作成し、1つはマスターページをチェックし、もう1つはマスターページを作成することができます。 – MarioDS
@jrummellこれは十分に柔軟ではありません。実際のプロジェクトでは、カスタマイズ可能なプロジェクトに行くときには、MembershipProviderに行くことができません。右? – Pankaj