架空の状況では、Web ページにアクセスできないはずのユーザーがそのページに移動します。このページは子ページです。ユーザーは、このページの機能をまったく持たないか、何も表示できないようにする必要がありますが、マスター ページ コントロールを引き続き使用できる必要があります。ページを無効にするにはどうしますか?
おそらく制御要素 .visible=false を作ると思いましたが、これは安全ですか? ページを無効にする他の方法はありますか?
架空の状況では、Web ページにアクセスできないはずのユーザーがそのページに移動します。このページは子ページです。ユーザーは、このページの機能をまったく持たないか、何も表示できないようにする必要がありますが、マスター ページ コントロールを引き続き使用できる必要があります。ページを無効にするにはどうしますか?
おそらく制御要素 .visible=false を作ると思いましたが、これは安全ですか? ページを無効にする他の方法はありますか?
nopermission.aspx
目的のマスター ページを含むページを提供し、Page_Load
そのページにリダイレクトします。
protected void Page_Load(object sender, EventArgs e)
{
if(!HasPermission("User123")) //User does not have permission
Response.Redirect("nopermission.aspx");
//otherwise, the page continues as required
}
nopermission
ページには、どんな親しみやすい情報でも入れることができます
あなたの質問を理解したと仮定し、ASP.Net Web フォームを参照していると仮定して、<asp:LoginView />
コントロールを調べます。
<AnonymousTemlate />
それぞれユーザーのタイプを表すとが<LoggedInTemplate />
あります (匿名またはログインしており、適切なコンテンツが表示されます)。
ASP.net フォーム認証で動作します。
詳細: MSDN - ASP.Net ログイン コントロール
ひ……
コントロールを表示する=ユーザーがアクセスできない場合はfalseを指定する必要があります。これは、このコントロールには何もサーバーによってレンダリングされないためです。
ただし、ユーザーがアクセスできないページにアクセスしようとすると、通常、アクティビティをログに記録して、「このページを表示する権限がありません」画面にリダイレクトします。