using Microsoft.AspNetCore.Mvc; using System; using WcfControlMonitorLib; namespace WcfControlMonitorWebLib.Controllers { /// /// 会话服务 /// [ApiController, Route("api/sessions")] public class SessionsController : ControllerBase { /// /// 登录 /// [HttpPost, Anonymous] public IActionResult Login([FromMember] string account, [FromMember] string password) { var dr = CStaticClass.dbo.ExceSQL($"SELECT USER_ID FROM T_SYS_USER WHERE USER_ACCOUNT='{account}' AND USER_PASSWORD='{password}'").Tables[0].DefaultView.Table.Rows; if (dr.Count > 0) { // 创建会话 var token = Guid.NewGuid().ToString("N"); WebSession.Store.Add(token, new WebSession { Value = account, Timestamp = DateTime.Now }); return StatusCode(201, new { token }); } else { return StatusCode(401); } } /// /// 注销 /// [HttpDelete, Anonymous] public IActionResult Logout(string token) { // 删除会话 if (WebSession.Store.ContainsKey(token)) { WebSession.Store.Remove(token); } return StatusCode(204); } } }