3

デフォルトのブラウザーで Web ページを開いてログインする html ファイルを作成しようとしています。ページは会社のイントラネットにあり、.aspx 構造になっています。

このページには、ユーザー、pwd フィールド、およびログイン手順を完了するためのリンクが含まれています。関連するソース行は

<a id="lnkAccedi" href="javascript:__doPostBack('lnkAccedi','')" 
  style="background-color:Transparent;font-family:Arial;">Accedi...</a> 

そして、私がすでにテストした簡単なコードは

<script language="JavaScript">
  window.open("intranet_web_page","_self");
</script>

ここで、intranet_web_page はログイン ページの URL です。Webページのソースで定義されている関数を「__doPostBack('lnkAccedi','');」として呼び出してみました。私のhtmlファイルのスクリプトタグで、まったく機能しません。

どうやってやるの?

前もって感謝します。

4

2 に答える 2

1

実際、私は ASP ユーザーではありませんが、これ__doPostBackはユーザー定義関数だと思います。script タグの下に JavaScript 関数として定義する必要があります。1点、パラメータは必要
ないと思います。__doPostBack

したがって、URL を変更せずに承認後にユーザーをリダイレクトするように作成する場合は、jquery post メソッドを使用してデータを投稿し、コールバック関数でサーバーの応答を取得して、ユーザーが承認されたかどうかを検出でき
ます。サンプルを提供します。コードですが、実際にはまだテストしていません
HTML の場合:

<form name="loginform" action="test.asp" method​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​="POST">
username : <input type="text"  name="username" placeholder="please put your username here." /><br>
password : <input type="password" name="password" placeholder="your password here" /><br/>
<a id="lnkAccedi" href="javascript:__doPostBack" style="background-color:Transparent;font-family:Arial;">Accedi...</a>
</form>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

スクリプト上:

function __doPostBack() {
    var usernamestr = document.loginform.username.value;
    var passwordstr = document.loginform.password.value;
    $.post("authorize.asp", { username: usernamestr , password: passwordstr },
       function(data) {
           if(data = "success") {       
               window.open('newwindow.asp','_self');
           } else {
               alert("Username or password was wrong");
           }
    });
}​

最後に、提案: フロント エンドでログイン プロセスを制御する必要はないと思います。これは非常に危険です。クライアント側であるため、誰でもコードを再作成してサーバーにハッキングできます。プロセス制御をバックエンド サーバーに渡す必要があります。

于 2012-12-12T16:40:41.853 に答える
1

JavaScript でいかなる種類の認証も行わないでください!!!

ASP コード ビハインドでログイン認証を行い、response.write を使用して新しいウィンドウを開くことができる成功条件を渡します。メッセンジャーウィンドウを開いて同様のことを行います。ログインに成功すると、次のコードがあります。

Response.Write("<script> var win =window.open('chat.aspx','mywindow','width=700,height=450,left=800,top=10,location=1'); win.close();</script>") //closes the window if it is already open
Response.Write("<script>window.open('chat.aspx','mywindow','width=700,height=450,left=800,top=10,location=1')</script>") //open the window

繰り返しますが、コード ビハインドからスクリプトを呼び出す方法です。うまくいけば、それはあなたを正しい方向に向けます!

于 2013-10-28T14:26:04.417 に答える