深圳升蓝软件
数据库开发 .Net技术  |  ASP技术 PHP技术 JSP技术 应用技术类   
Hiblue Software

代码例子 - Ask For Login


March 25,2004
The need for a security system is obvious if your pages include sensitive information.

This sample shows you how to setup some of your pages to ask for login if the user has not logged in yet.

2eNetWorX/dev site uses this kind of protection for interactive pages and file downloads.

Let's assume that we have a page where the visitors can ask questions. We want to make sure that the user
has logged in before being able to ask a question.

If the user has not logged in yet, we will ask for a login. After a successful login, we will redirect the
user to the page requested.

First, we will have a common file to check for login. You need to include this file into all the pages
that require login.

security.asp

<%

bLoggedIn = (len(session("UserName")) > 0)

if bRequireLogin then
   'Login required
   if Not bLoggedIn then
     'Not logged in, ask for login
     response.redirect "login.asp?comebackto=" & _
     request.servervariables("script_name") & "?" & _
     server.urlencode(request.querystring)
     'Note how we construct the page to come back
   end if
end if

%>

login.asp

First thing to do in our login.asp page is to get the page where the user is redirected from. The variable
sReferer is used to redirect back to the page the user has come from.

sGoBackTo variable will used in the <form> tag for persisting this location when we submit the login form.

<%

if request("comebackto") <> "" then
   sReferer = request("comebackto")
   sGoBackTo = "?" & request.querystring
end if

if request("cmdLogin") <> "" then

   'Login Form submitted
   sUserName = request("txtUserName")
   sPassword = request("txtPassword")

   'Check for username and password

   if sUserName = "bill" And sPassword = "gates" then
     bLoginSuccessful = True
   end if

   session("UserName") = sUserName


  'After a successful login, let's send the user
  'back to the page requested. The variable sReferer
  'holds the page to go back, if it is empty, we should
  'redirect the user to our default page.

   if sReferer = "" then
     response.redirect "index.asp"
   else
     response.redirect sReferer
   end if

else

   'Display the Login Form

%>

   <form action="login.asp<%=sGoBackTo%>" method="post">
     <input type="text" name="txtUserName"><br>
     <input type="password" name="txtPassword"><br>
     <input type="submit" name="cmdLogin"><br>
   </form>

<%

end if

%>

testpage.asp

Now, all you need to do is setting bRequireLogin to True and including the security.asp file.

<%

   bRequireLogin = True

%>

<!--#include file="security.asp"-->

Users should be logged in to see this text.

I hope this sample gives you a quick overview of a simple security system implementation with ASP.

You are always welcome to express your feedback!

by Hakan Eskici
       
Copyright © 2001-2008 Shenzhen Hiblue Software Team All rights reserved