📄 authmanager.java
字号:
/*
* AuthManager.java
*
* Created on 2007年7月23日, 上午9:20
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package czm;
import java.sql.*;
import javax.servlet.http.*;
public class AuthManager {
private HttpSession session;
//enum
public static final int UserRole=0;
public static final int AdminRole=1;
/** Creates a new instance of AuthManager */
public AuthManager() {
}
public static Object getUserInfo(HttpSession session, int role)
{/**返回用户信息,尽量在这里使用session保持低耦合*/
try
{
if(isInRole(session, role)) {
switch(role) {
case UserRole:
return session.getAttribute("UserInfo");
case AdminRole:
return session.getAttribute("AdminInfo");
default: break;
}
}
return null;
}
catch(Exception exc)
{
return null;
}
}
public static boolean Logout(HttpSession session, int role)
{/**退出登录,清除会话变量*/
try
{
switch(role)
{
case UserRole:
session.removeAttribute("UserInfo");
//由于多设置memberID
session.removeAttribute("memberID");
break;
case AdminRole:
session.removeAttribute("AdminInfo");
//由于多设置admin_ID
session.removeAttribute("admin_ID");
break;
default: break;
}
return true;
}
catch(Exception exc)
{
return false;
}
}
public static boolean isInRole(HttpSession session, int role)
{//验证授权是否存在(0用户,1管理员)
try {
switch(role) {
case AdminRole:
if(session.getAttribute("AdminInfo")!=null)return true;
break;
case UserRole:
if(session.getAttribute("UserInfo")!=null)return true;
break;
default: break;
}
return false;
}
catch(Exception exc)
{
return false;
}
}
public static boolean login(HttpSession session, String name, String pwd, int role)
{/** 登录,输入用户名,密码,权限(0用户,1管理员)*/
try{
String sql="";
opendb dbo=new opendb();
ResultSet rs;
switch (role)
{/**根据用户还是管理员,执行不同的sql语句*/
case UserRole:
sql="select pwd from buyerInfo where memberID='"+name+"'";
break;
case AdminRole:
sql="select Admin_pwd from Admin where Admin_ID='"+name+"'";
break;
default: break;
}
//执行查询
rs=dbo.executeQuery(sql);
if(rs.next())
{
if(pwd.compareTo(rs.getString(1))==0)
{//有记录且密码相同,设置授权,如果是用户增加登录次数
switch(role)
{
case UserRole:
sql="Update buyerInfo set logonTimes = logonTimes +1 where memberID = '" + name + "'";
dbo.executeUpdate(sql);
User user=new User();
user.ID=name;
user.ShowUser();
//设置全局会话变量,会员信息
session.setAttribute("UserInfo",user);
//多设置全局会话变量memberID
session.setAttribute("memberID",name);
break;
case AdminRole:
//设置全局会话变量,管理员信息
session.setAttribute("AdminInfo",name);
//多设置全局会话变量,admin_ID
session.setAttribute("admin_ID", name);
break;
default: break;
}
return true;
}
}
return false;
}
catch(Exception exc)
{
return false;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -