CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

ASP权限验证问题..在线等

楼主gxnet12(及郁闷)2006-03-20 18:28:34 在 Web 开发 / ASP 提问

login.asp  
   
  <%@LANGUAGE="VBSCRIPT"   CODEPAGE="936"%>  
  <!--#include   file="conn.asp"   -->  
  <!--#include   file="Inc/MsgBox.asp"-->  
  <!--#include   file="Inc/FormChk.asp"-->  
  <%  
  if   request("username")=""   then  
  response.write   "<script   language='javascript'>"   &   VbCRlf  
  response.write   "alert('用户名不能为空!');"   &   VbCrlf  
  response.write   "history.go(-1);"   &   vbCrlf  
  response.write   "</script>"   &   VbCRLF  
  response.end  
  end   if  
  if   request("password")=""   then  
  response.write   "<script   language='javascript'>"   &   VbCRlf  
  response.write   "alert('密码不能为空!');"   &   VbCrlf  
  response.write   "history.go(-1);"   &   vbCrlf  
  response.write   "</script>"   &   VbCRLF  
  response.end  
  end   if  
   
  username=request("username")  
  password=request("password")  
  GetCode=Encodestr(Request.Form("GetCode"))  
   
  sql="select   *   from   dates   where   numb='"&username&"'   and   pass='"&password&"'   "  
  set   rs=   Server.CreateObject("ADODB.Recordset")    
  rs.open   sql,conn,1,1  
  if   rs.eof   then  
  response.write   "<script   language='javascript'>"   &   VbCRlf  
  response.write   "alert('用户名或密码不正确!');"   &   VbCrlf  
  response.write   "history.go(-1);"   &   vbCrlf  
  response.write   "</script>"   &   VbCRLF  
  response.end  
  else  
  session("numb")=rs("numb")  
  session("pass")=rs("pass")  
  response.redirect   "main.asp"  
  end   if  
  rs.close  
  set   rs=nothing  
  conn.close  
  set   conn=nothing  
  %>  
   
   
   
  main.asp  
   
  <!--#include   file="conn.asp"   -->  
  <%  
  sql="select   *   from   dates   where   numb='"username"'   and   rank='"x"'   "  
  set   rs=   Server.CreateObject("ADODB.Recordset")    
  rs.open   sql,conn,1,1  
  if   rs.eof   then  
  response.redirect   "mainx.asp"  
  end   if  
  sql="select   *   from   dates   where   numb='"username"'   and   rank='"a"'   "  
  set   rs=   Server.CreateObject("ADODB.Recordset")    
  rs.open   sql,conn,1,1  
  if   rs.eof   then  
  response.redirect   "maina.asp"  
  end   if  
  sql="select   *   from   dates   where   numb='"username"'   and   rank='"c"'   "  
  set   rs=   Server.CreateObject("ADODB.Recordset")    
  rs.open   sql,conn,1,1  
  if   rs.eof   then  
  response.redirect   "mainc.asp"  
  end   if  
  rs.close  
  set   rs=nothing  
  conn.close  
  set   conn=nothing  
  %>  
   
   
   
  现在问题是   main.asp   里面的验证不知道怎么弄  
  数据库里面有一个字段是   RANK   值为   X   则是超级管理员       A   则是管理员     C则是普通用户  
  现在要怎么样实现这三个权限的分离啊.  
  main.asp  
  里面就是不对权限的用户打开不同的页面  
  问题点数:50、回复次数:12Top

1 楼honghong2(凡雅)回复于 2006-03-20 18:45:29 得分 2

你不是以经实现了权限分离嘛。在main.asp  
  里面判断了是什么权限的用户打开不同的页面啦。  
   
  不过如果你的   dates   表里的username字段如果是唯一的话就可以这样判断。否则这样判断是不行的Top

2 楼gxnet12(及郁闷)回复于 2006-03-20 18:53:54 得分 0

啊`  
   
  我数据库里面的     numb   是唯一的啊  
                                  现在问题就是打不开我要打开的页面  
   
                                  不管以什么用户打开进入的都是超级管理员页面  
  Top

3 楼avon2006(佳佳)回复于 2006-03-20 18:54:59 得分 3

在验证时就可以对它的权限进行判定了,然后转到相应的页面.也就是说,验证通过时.取出它的权限,进行判定,然后转到相应的页面.不知这样说你是否明白.Top

4 楼avon2006(佳佳)回复于 2006-03-20 18:57:47 得分 1

同时那样判定了,就不用main.asp这个文件了,这个文件简直是多余的.Top

5 楼dragonbbc(dragon)回复于 2006-03-20 18:58:16 得分 5

设置个session("rank"),通过它判断,Top

6 楼gxnet12(及郁闷)回复于 2006-03-20 19:21:43 得分 0

session("rank")  
  怎么弄`  
   
  具体代码怎么写啊~?Top

7 楼honghong2(凡雅)回复于 2006-03-20 19:22:36 得分 4

那是不是你在main.asp页面里要从session("numb")里取出值放变量里再判断啊。而不是直接在  
  sql="select   *   from   dates   where   numb='"username"'   and   rank='"x"'   "里用username判断啊Top

8 楼honghong2(凡雅)回复于 2006-03-20 19:27:01 得分 1

楼主。你会不会在ASP里调用VB中自写的DLL啊?帮我看看啊。555。。急。。  
  http://community.csdn.net/Expert/topic/4627/4627192.xml?temp=.7683222Top

9 楼gxnet12(及郁闷)回复于 2006-03-20 19:39:05 得分 0

谁给我个具体的方案啊  
  我头都弄大了...  
  楼上的兄弟.  
  你说的问题我搞不太清楚Top

10 楼avon2006(佳佳)回复于 2006-03-20 19:59:25 得分 34

晕,还没解决???  
  在你验证完之后  
  session("numb")=rs("numb")  
  session("pass")=rs("pass")  
  session("rank")=rs("rank")           '这个得根据你后面的页面有没有调用到而设的,如果没用到就不用这句了.  
  接以下代码:  
  dim   rank  
  rank=rs("rank")  
  select   case   rank  
          case   "a"  
          response.redirect   "maina.asp"  
          case   "c"  
          response.redirect   "mainc.asp"  
          case   "x"  
          response.redirect   "mainx.asp"  
  end   select  
   
  这样不就解了嘛.....Top

11 楼gxnet12(及郁闷)回复于 2006-03-20 19:59:39 得分 0

没人...  
  我自己顶`  
   
  Top

12 楼gxnet12(及郁闷)回复于 2006-03-20 20:05:35 得分 0

OK了  
  谢谢楼上各位兄弟`Top

相关问题

  • 页面的权限验证
  • 验证用户地区权限问题
  • 关于下载权限验证
  • 关于Strust权限验证的问题
  • forms权限验证的问题,指教
  • 怎么验证"ASP"!="asP" 呢?
  • 以ASP输出WORD文档时出现WINDOWS验证,如果将整个WEB目录权限改为EVERYONE 完全控制,又不安全,该如何处理?
  • 在线等待:如何把 ASP 的登录验证做成 dll
  • 关于Forms身份验证中,怎么根据角色进行权限验证?
  • ASP写文件的权限问题,在线等待

关键词

  • 页面
  • 验证
  • 用户
  • asp
  • sql
  • 权限
  • vbcrlfresponse
  • numb
  • rank
  • 判断

得分解答快速导航

  • 帖主:gxnet12
  • honghong2
  • avon2006
  • avon2006
  • dragonbbc
  • honghong2
  • honghong2
  • avon2006

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo