ユーザー、メンバー、管理者の 3 種類のユーザーを持つ ASP.NET Web アプリケーションがあります。
ここで、ユーザーのタイプをチェックできるすべてのページのメソッドを作成したいと思います。このページへのアクセスが許可されていない場合、ユーザーはホームページにリダイレクトされます。
現在、すべてのページの Page_Load にこの種のコードがあります。
if (Session["userID"] != null)
{
User user = userDALC.Read(Convert.ToInt32(Session["userID"]));
if (user.Type == 1)
{
Response.Redirect("~/Home.aspx");
}
}
else
{
Response.Redirect("~/Home.aspx");
}
このページはメンバーと管理者 (2,3) のみに表示されます。ユーザー (1) がこのページにアクセスしたい場合、リダイレクトされます。
したがって、このコードは非常に頻繁に繰り返されるため、私の使用にはまったく適していないことは明らかです。(すべてのページで)
さて、私の考えは、ページへのアクセスを許可するユーザー タイプを設定できるプロパティ「パーミッション」を各ページに追加することでした。また、すべてのページでこの権限プロパティをチェックするメソッドも必要です。
このようなプロパティを追加する方法と、このメソッドを追加できるアイデアはありますか? (多分マスターページ?)