You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

81 lines
2.1 KiB

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 ;
}
}
}