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