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 中设置一个布尔值,默认情况下为 false。然后您检查您的代码是否为假,如果是则重定向到身份验证页面并将布尔值设置为真。

于 2012-05-09T12:16:57.763 回答