using Competition.Common.Util; using CompetitionAPI.api.unity; using CompetitionAPI.Util; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Org.BouncyCastle.Ocsp; namespace CompetitionAPI.Controllers.unity.newinterface { [Route("unity/[controller]")] [ApiController] public class DetectingIPController : Controller { private readonly IHttpContextAccessor _httpContextAccessor; Competition.Mysql.BLL.admin_user bll = new Competition.Mysql.BLL.admin_user(); Competition.Mysql.BLL.admin_ip bll_admin_ip = new Competition.Mysql.BLL.admin_ip(); Competition.Mysql.BLL.pow_config config_bll = new Competition.Mysql.BLL.pow_config(); public DetectingIPController(IHttpContextAccessor httpContextAccessor) { _httpContextAccessor = httpContextAccessor; } /// /// 检测考试IP接口 /// /// [Authorize] [HttpPost] [APIFilter] public JsonResult Index([FromForm] DetectingIPRequest req) { try { var ip_list = bll_admin_ip.GetModelList(""); var items = ip_list.Where(s => req.IP.Contains(s.IP)).ToList(); if (items.Count <= 0) { var config = config_bll.GetModelList("").FirstOrDefault(); if (config != null) { if (!string.IsNullOrEmpty(config.LimitIp) && config.LimitIp == "1") { return Json(Tool.GetJsonWithCode(APICode.Fail, "登录ip限制!登录ip:" + req.IP)); } } } return Json(Tool.GetJsonWithCode(APICode.Success, "成功")); } catch (Exception ex) { LogHelper.WriteLog(ex.Message + ",行号:" + ex.StackTrace); return Json(Tool.GetJsonWithCode(APICode.Fail, "发生错误,请联系管理员。")); } } } }