|
用户统一认证、统一管理和单点登录调用接口
<%@ page contentType = "text/html;charset=gb2312" %> <%@ page import = "java.util.*" %> <%@ page import = "java.text.*" %> <%@ page import = "com.turbomail.web.*" %> <%@ page import = "com.turbomail.util.*" %> <%@ page import = "com.turbomail.mime.*" %> <%@ page import = "java.sql.*" %> <%@ page import = "java.io.*" %>
<% /* 操作说明: 1.增加用户, URL: api?pwd=管理员密码&type=add&domain=域名&username=用户名&password=密码&maxsize=最大空间&maxsize=最大邮件数 返回值: 0 -- 成功, 非0 失败
2.删除用户 URL: api?pwd=管理员密码&type=delete&domain=域名&username=用户名 返回值: 0 -- 成功, 非0 失败
3.更改用户密码 URL: api?pwd=管理员密码&type=edit&domain=域名&username=用户名&password=新密码 返回值: 0 -- 成功, 非0 失败
4.获取用户新邮件数 URL: api?pwd=管理员密码&type=getnewmsg&domain=域名&username=用户名 返回值: 0 或正数 -- 用户新邮件数, 负数 失败
*/ %> <% SimpleDateFormat sdf = new SimpleDateFormat("EEE, d MMM yyyy hh:mm:ss"); java.util.Date d = new java.util.Date(); String str_ca = sdf.format(d); response.setHeader("Expires","Mon, 26 Jul 1997 05:00:00 GMT"); response.setHeader("Last-Modified", str_ca + " GMT"); response.setHeader("Cache-Control","no-cache, must-revalidate"); response.setHeader("Pragma","no-cache");
//response.setContentType("text/html;charset=gb2312"); String pwd = request.getParameter("pwd"); if(pwd == null){ pwd = ""; } UserInfo userinfo = new UserInfo(); userinfo.setUid("postmaster");
userinfo.is_first = true; userinfo.domain = "root";
userinfo.str_cn = "postmaster" + "@" + "root";
String strCFPath = MailMain.s_config.getMailDirPath() + System.getProperty("file.separator") + "root" + System.getProperty("file.separator") + "postmaster" + System.getProperty("file.separator") + "account.xml"; userinfo.account = new UserAccount(); try{ if (MailMain.m_tmc.USER_AUTH_TYPE.equals("MYSQL")) { userinfo.account.mysqlInit("root", "postmaster",false); } else { userinfo.account.init(strCFPath); } }catch(Exception e){ e.printStackTrace() ; out.write("1" ); return ; } if(!userinfo.account.password.equals (pwd)){ out.write("2" ); return ; } %>
<% String type = request.getParameter("type"); if(type == null) type = ""; if(type.equals("add")){ UserAccount ua = null;
try{ String domain = request.getParameter("domain"); if(domain == null){ out.write("3" ); return ; } String username = request.getParameter("username"); if(username == null){ out.write("4" ); return ; } String password = request.getParameter("password"); if(password == null){ password = ""; } String maxsize = request.getParameter("maxsize"); if(maxsize == null){ maxsize = "-1"; } String maxmsgs = request.getParameter("maxmsgs"); if(maxmsgs == null){ maxmsgs = "-1"; } ua = new UserAccount(); ua.username = new String(username); ua.password = new String(password); ua.usertype = "U"; ua.m_domain = new String(domain); ua.m_UserProfile = new UserProfile(); ua.m_UserProfile.first_name = username; ua.m_UserProfile.last_name = ""; ua.m_UserProfile.organiztion = ""; ua.m_UserProfile.department = ""; ua.m_UserProfile.address = ""; ua.m_UserProfile.city = ""; ua.m_UserProfile.postalcode = ""; ua.m_UserProfile.telephone = ""; ua.m_UserProfile.state_province = ""; ua.m_UserProfile.country = ""; ua.m_UserProfile.items = 50; ua.enable = "true"; ua.enable_smtp = "true"; ua.enable_pop3 = "true"; ua.enable_imap4 = "true"; ua.enable_webaccess = "true"; ua.enable_localdomain = "false";
ua.max_mailbox_size = Integer.parseInt(maxsize); ua.max_mailbox_msgs = Integer.parseInt(maxmsgs); int iRet = 0; try { iRet = ua.makeUserAccount(MailMain.s_config.getMailDirPath()); }catch(Exception e){ e.printStackTrace(); out.write("1" ); return ; } if(iRet != 0 ){ out.write("1" ); return ; } }catch(Exception ee){ ee.printStackTrace(); out.write("1" ); return ; } out.write("0" ); return ; }else if(type.equals("delete")){ String username = request.getParameter("username"); if(username == null){ out.write("1" ); return ; } String domain = request.getParameter("domain"); if(domain == null){ out.write("2" ); return ; } String[] users = new String[1]; users[0] = username; UserAccountAdmin.deleteUser(domain, users); out.write("0" ); return ; }else if(type.equals("edit")){ String username = request.getParameter("username"); if(username == null){ out.write("1" ); return ; } String domain = request.getParameter("domain"); if(domain == null){ out.write("2" ); return ; } UserAccount ua = null; ua = UserAccountAdmin.getUserAccount (domain,username); ua.m_domain = new String(domain); String password = request.getParameter("password"); if(password == null){ password = ""; } ua.password = password; int iRet = ua.saveProfile(true,false); if(iRet != 0){ out.write("3" ); return ; } out.write("0"); return ; }else if(type.equals("getnewmsg")){ String username = request.getParameter("username"); if(username == null){ out.write("-1"); return ; } String domain = request.getParameter("domain"); if(domain == null){ out.write("-2" ); return ; } ArrayList hsFolders = MessageAdmin.getFolderList (domain,username,1); Folder tempFolder = null; tempFolder = MessageAdmin.findFolder(hsFolders,"new"); int iNewMsg = tempFolder.iNewMsg; out.write((String.valueOf(iNewMsg)) ); return ; } %>
|