L迁客

技术博客
随笔 - 1, 文章 - 12, 评论 - 1, 引用 - 0
数据加载中……

一个简单的关于权限判断登陆的javaBean文件

package userce;

import java.sql.*;
import java.io.*;
import java.util.*;
public class UserCheck {
  Connection con;
  ResultSet rs;
  public UserCheck() { }
  public Connection getConnect(){ //连接数据库的,不用在多说了吧
   try{
        Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
        }
   catch(ClassNotFoundException e){}
        String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=flDataSource";
        String name = "sa";//建议设计数据库时,不要用默认的sa,可以建立一个有操作权限的用户;
        String pass = "sa";
    try{
        con = DriverManager.getConnection(url,name,pass);
        }
    catch(SQLException e){}
        return con;
  }
 public  boolean userExist(String username){
    Connection con=null;
    PreparedStatement ps=null;
    ResultSet rs=null;
    boolean occupied=true;
    try{
       String sqlquery="select *from Userlist where username=?";
       con=this.getConnect();
       //this.getConnect()=getConnect();//关于this 的用法,我到现在理解的也不是太透彻,我这样用,在实际操作中是通过的,如果有不妥之处,请高手指教.
       ps=con.prepareStatement(sqlquery);
       ps.setString(2,username);
       rs=ps.executeQuery();
       if(!rs.next())
         occupied=false;
    }
    catch(SQLException e){
       e.printStackTrace();
    }
    finally{
      if(rs!=null) try{rs.close();}
                   catch(SQLException ignore){}
      if(ps!=null) try{ps.close();}
                   catch(SQLException ignore){}
      if(con!=null) try{con.close();}
                   catch(SQLException ignore){}
    }
    return occupied;
 }
public boolean isValidUser(String username,String userpwd){//此函数用来判断是否有此用户,其实很好理解我定义成boolean型,就可以根据返回值来进行一个<jsp:forword="mmm.jsp">.
   Connection con=null;
   PreparedStatement ps=null;
   ResultSet rs=null;
   boolean isValid=false;
   try{
      String sqlquery="select *from Userlist where username=? and userpwd=?";
      con=this.getConnect();
      ps=con.prepareStatement(sqlquery);
      ps.setString(1,username);
      ps.setString(2,userpwd);
      rs=ps.executeQuery();
      if(rs.next())
        isValid=true;
   }
   catch(SQLException e){
      e.printStackTrace();
   }
   finally{
         if(rs!=null) try{rs.close();}
                      catch(SQLException ignore){}
         if(ps!=null) try{ps.close();}
                      catch(SQLException ignore){}
         if(con!=null) try{con.close();}
                      catch(SQLException ignore){}
   }
   return isValid;
 }
  public int getUserPri(String username){  //次方法我用来根据传入的参数:username(我设置session时,用的也是username,根据检索数据库中的0,1标志位,来判断用户的权限,这样就可以进行相应的操作.)
    Connection con=null;
    PreparedStatement ps=null;
    ResultSet rs=null;
    int pri=0;
    try{
      String sqlquery="select variety from Userlist where username=? ";
      con=this.getConnect();
      ps=con.prepareStatement(sqlquery);
      ps.setString(1,username);
      rs=ps.executeQuery();
      if(rs.next())
        pri=rs.getInt("variety");
    }
    catch(SQLException e){
        e.printStackTrace();
    }
    finally{
       if(rs!=null) try{rs.close();}
                    catch(SQLException ignore){}
       if(ps!=null) try{ps.close();}
                    catch(SQLException ignore){}
       if(con!=null) try{con.close();}
                    catch(SQLException ignore){}

    }
    return pri;
  }
}

posted on 2012-05-26 20:06 L迁客 阅读(1634) 评论(1)  编辑  收藏

评论

# re: 一个简单的关于权限判断登陆的javaBean文件  回复  更多评论   

其实应该在检查用户是否存在的时候返回一个integer -1不存在,0密码错误 1 通过。
检查的时候用用户名查询 查询到0条表示不存在,1条表示存在,1+条表示系统错误。 1的时候再equals一下passWord
2012-05-27 20:33 | 叶知泉

只有注册用户登录后才能发表评论。


网站导航: