0

管理者と他のユーザー用の単一のログインフォームがある従来のASPを使用しています。ログイン時に管理者とユーザーを別のページにリダイレクトすることはできましたが、新しいユーザーの場合は、最初にログインしたときに認証ページに移動するようにします。どうすればよいですか。私はセッションがあまり得意ではありません。実際、セッション変数を使用してユーザーと従業員を別のページに移動しました。これにもセッションが参加するのでしょうか..??。

これは、ユーザーと管理者を別のページに移動するために使用したものです

Session("Username")=request.form("user_name")
    if request.Form("sub_but") <> "" then
    sql = "SELECT * FROM Users WHERE UserName='"&request.form("user_name")&"' AND Password='"&request.form("pwd")&"'"
    rs.open sql, con, 1, 2  
     if rs.EOF then

        response.Write("<script language='javascript'>{attention_emp();}</script>")
            else
       if(rs("UserName"))= "vppl-1" then
       response.Redirect ("admin.asp")
    else
          Response.Redirect ("leave.asp")
    end if 


    end if
    rs.close
    end if
4

2 に答える 2

0

これにはセッション変数を使用せず、単純な Cookie を使用します。Cookie またはユーザーが存在しない場合は、それらを認証フォームにリダイレクトします。セッション変数は、ブラウザが開いている間だけ保持され、次にそれらがなくなったときだけ保持されます。

しかし、これはIISサーバー上にあり、サイトでNTLM(Windows認証)をアクティブにするだけで、アクセスを制御し、単純なRequest.ServerVariables( "AUTH_USER")でユーザーとアクセス権を取得できます。これはシングル サイド ログオンと呼ばれます。つまり、ユーザーが一度ログインすると、再度ログオンする必要はありません。Windows が認証を提供するので、ユーザーは満足しています 8>)。サイトを含むマップで ntfs 権限を与えるだけで、基本的なセキュリティが確保されます。

于 2012-05-09T23:45:01.670 に答える
-1

user_tableにboolを設定しますが、これはデフォルトではfalseです。次に、コードがfalseの場合はチェックインし、yesの場合は認証ページにリダイレクトして、boolをtrueに設定します。

于 2012-05-09T12:16:57.763 に答える