using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.Threading; using Sog; using SimpleHttpServer; using MySql.Data.MySqlClient; using LitJson; namespace SMWebServer { public class CheckAuthority { private MySqlDB db; public void InitConnection() { //SMWebServerConfig config = SMWebServerUtils.GetServerConfig();//配置 //db = new MySqlDB(config.dbname, // config.dbip, // config.dbuser, // config.dbpassword); } public void DoCheck(JsonData builder, HttpResponse rsp, HttpRequest request, HttpQueryParams query) { TraceLog.Trace("CheckAuthority.DoCheck url {0} param count {1}", request.Url, query.Count);//在日志中打印出Url和count的内容 string account = query.GetValue("account"); /*var pass = SMWebServerUtils.GetSMWebServerData().pass; TraceLog.Trace("pass {0}", pass); if (account != pass) { builder["code"] = -3; return; }*/ string strSql = string.Format("select jurisdiction from account where account = \"{0}\"", account); MySqlDataReader reader = db.ExecReader(strSql);//运行sql语句得出返回值给reader if (reader == null) { TraceLog.Trace("数据库连接异常"); builder["code"] = 6; builder["msg"] = "errror"; return ; } bool ret = reader.Read(); string auth = reader.GetString("jurisdiction"); reader.Close();//关掉reader; builder["auth"] = auth; builder["code"] = 0; return ; } public void ProccessRequest(JsonData builder, HttpResponse rsp, HttpRequest request, HttpQueryParams query)//web端吧账号密码打包一个request发过来,调用这个方法 { InitConnection();//初始化链接 DoCheck(builder, rsp, request, query); db.Dispose(); return ; } } }