ssoservice.java
来自「cwbbs 云网论坛源码」· Java 代码 · 共 140 行
JAVA
140 行
package cn.js.fan.sso;import cn.js.fan.security.SecurityUtil;import cn.js.fan.db.ConnPool;import cn.js.fan.util.StrUtil;import cn.js.fan.util.DateUtil;import org.apache.axis.MessageContext;import javax.servlet.http.HttpServletRequest;import org.apache.axis.transport.http.HTTPConstants;import org.apache.axis.session.Session;import java.sql.ResultSet;import java.util.Calendar;import cn.js.fan.db.ConnPool;import cn.js.fan.db.Conn;import java.io.IOException;import javax.servlet.http.HttpServletResponse;import java.io.PrintStream;import java.io.PrintWriter;public class SSOService { public SSOService() { } private String getRemotHost() throws Exception { MessageContext context = MessageContext.getCurrentContext(); HttpServletRequest req = (HttpServletRequest) context.getProperty( HTTPConstants.MC_HTTP_SERVLETREQUEST); return req.getRemoteHost(); } public boolean AuthUser(String nick, String pwdMD5) { if (nick == null || pwdMD5 == null || nick.equals("") || pwdMD5.equals("")) return false; String sql = "select pwd,isvalid from users where nick=" + StrUtil.sqlstr(nick); ResultSet rs = null; String pwd1 = ""; boolean re = false; ConnPool conn = null; boolean isvalid = true; String ip = ""; try { ip = getRemotHost(); conn = new ConnPool("sso"); rs = conn.executeQuery(sql); if (rs != null && rs.next()) { pwd1 = rs.getString(1); isvalid = rs.getInt(2) == 0 ? false : true; } if (pwd1.equals(pwdMD5) && isvalid) { re = true; } else System.out.println(DateUtil.format(Calendar.getInstance(), "yy-mm-dd hh:mm:ss") + " AuthUser:" + nick + "验证未通过 pwd1=" + pwd1 + " pwdMD5=" + pwdMD5 + " " + ip); } catch (Exception e) { System.out.println(DateUtil.format(Calendar.getInstance(), "yy-mm-dd hh:mm:ss") + " AuthUser:" + e.getMessage() + " " + ip); } finally { if (rs != null) { try { rs.close(); } catch (Exception e) {} rs = null; } if (conn != null) conn.close(); } if (re) System.out.println(DateUtil.format(Calendar.getInstance(), "yy-mm-dd hh:mm:ss") + " AuthUser:" + nick + "验证通过 pwd1=" + pwd1 + " pwdMD5=" + pwdMD5 + " " + ip); return re; } public boolean RegistUser(String nick, String pwd) throws IOException { String pwdMD5 = ""; try { pwdMD5 = SecurityUtil.MD5(pwd); } catch (Exception e) {} boolean isvalid = true; if (nick.equals("") || pwd.equals("")) { isvalid = false; } boolean re = false; if (isvalid) { String sql = "insert users (nick,pwd) values (" + StrUtil.sqlstr(nick) + "," + StrUtil.sqlstr(pwdMD5) + ")"; ConnPool conn = null; try { conn = new ConnPool("sso"); re = conn.executeUpdate(sql) == 1 ? true : false; } catch (Exception e) { System.out.println("RegistUser:" + e.getMessage()); } finally { if (conn != null) { conn.close(); conn = null; } } } return re; } public boolean ModifyPwd(String nick, String newpwdMD5) throws IOException { boolean re = false; String sql = "update users set pwd=" + StrUtil.sqlstr(newpwdMD5) + " where nick=" + StrUtil.sqlstr(nick); ConnPool conn = null; try { conn = new ConnPool("sso"); re = conn.executeUpdate(sql)==1?true:false; } catch (Exception e) { re = false; System.out.println("ModifyPwd:" + e.getMessage()); } finally { if (conn != null) { conn.close(); conn = null; } } return re; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?