2011-01-28 22 views
0

安全なasp.netサイトのためのモーダルウィンドウを起動することに関するすべての簡単な質問。私は現在、ユーザーがログインリンクをクリックすると、標準のasp.netログインページ(login.aspx)をモーダルのRadWindow内で開きます。私はjavascriptを使用してこのページを呼び出していますが、これは問題なく動作します。asp.netセキュアサイトのリンクからモーダルウィンドウを呼び出す

私が今直面した課題は、ログイン画面がサイトのメインフレームとポップアップの間に読み込まれる安全なセクションを指している場合、ユーザーがページ内のリンクをクリックしたときの挑戦です。私はなぜ(私のjs funcitonは呼び出されていない)私の質問は、これを回避する正しい/アクセプタブルなアプローチは、各リンク/ボタンからメソッドを呼び出して、ユーザーauthenticaitonをテストすることですか?ユーザーが認証されている場合は、ページにリダイレクトします。それ以外の場合はjavascript関数を呼び出してウィンドウを開きます。

またはjavascriptで行うことはできますか?

私はasp.netをしばらく外していましたが、少し錆びています。任意のヒントやポインタが高く評価されるだろう。事前に

おかげ

UPDATE わかりましたので、私は、ユーザーが検証された場合、少なくとも決定し、今までいくつかの進歩を持っています。私はforsmの認証を使用しておりますので、私は今、私はここからJS関数を呼び出す方法を把握する必要があり

public void LinkButton_Click(object sender, EventArgs e) 
{ 
    if (Request.IsAuthenticated == false) 
    { 
     // myalert.Text = "<script language type='text/javascript'> function OpenWin() {var opWin = window.radopen(null, 'RadWindow1');opWin.setUrl(opWin.get_navigateUrl());}</script>"; 
    } 
    else 
    { 
     myalert.Text = "no dice"; 
    } 
} 

にisAuthenticated

を使用してこれをテストすることができます。任意のアイデアをいただければ幸いです。 おかげで再び

答えて

0

、あなたの質問に答えるために

public void LinkButton_Click(object sender, EventArgs e) { 
    if (!Request.IsAuthenticated) { 
     Page.RegisterClientScriptBlock("myScript", "<script language='javascript'>alert('');</script>"); 
    } 
    else { 
     myalert.Text = "no dice"; 
    } 
} 

ただししようと、あなたは認証はむしろそれに先立ちよりも、ページのロード時にチェックする必要があります。誰かが安全なページのURLを知っていて、直接アクセスするとどうなりますか?

+0

ありがとうbitxwise。私のweb.configファイル/ aspnetセキュリティモデルを通してこれを処理しています。サイト内で認証されない限りURLを知っていても、ディレクトリにアクセスできない。 (セキュアなページはそれぞれのディレクトリに保存されます) – rlcrews

関連する問題