From febcaf0662a5e33ec7a6a10c6b247b1210fa02ed Mon Sep 17 00:00:00 2001 From: Argo-Lenovo Date: Thu, 22 Dec 2016 13:18:53 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E9=99=A4=E8=87=AA=E5=AE=9A=E4=B9=89Lo?= =?UTF-8?q?ginInfo=E7=B1=BB=EF=BC=8C=E4=BD=BF=E7=94=A8BA.Security.Mvc?= =?UTF-8?q?=E4=B8=AD=E7=9A=84=E9=80=9A=E7=94=A8=E7=B1=BB=EF=BC=8C=E6=99=9A?= =?UTF-8?q?=E4=B8=8APOST=E7=99=BB=E9=99=86=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/LoginController.cs | 28 ++++++++----------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/Bootstrap.Admin/Controllers/LoginController.cs b/Bootstrap.Admin/Controllers/LoginController.cs index 00f0002c..0b7ee2fc 100644 --- a/Bootstrap.Admin/Controllers/LoginController.cs +++ b/Bootstrap.Admin/Controllers/LoginController.cs @@ -1,6 +1,10 @@ using Bootstrap.DataAccess; +using Bootstrap.Security.Mvc; using Longbow.Caching; +using Longbow.Security.Principal; +using Newtonsoft.Json.Linq; using System; +using System.Linq; using System.Web.Http; using System.Web.Security; @@ -14,7 +18,8 @@ namespace Bootstrap.Admin.Controllers [HttpGet] public LoginInfo Get() { - return new LoginInfo() { UserName = User.Identity.Name, Token = string.Empty }; + var token = Request.Headers.GetValues("Token").First(); + return new LoginInfo() { UserName = User.Identity.Name, Token = token }; } /// /// @@ -24,9 +29,12 @@ namespace Bootstrap.Admin.Controllers /// [AllowAnonymous] [HttpPost] - public LoginInfo Post(string userName, string password) + public LoginInfo Post([FromBody]JObject value) { - if (UserHelper.Authenticate(userName, password)) + dynamic user = value; + string userName = user.userName; + string password = user.password; + if (LgbPrincipal.IsAdmin(userName, password) || UserHelper.Authenticate(userName, password)) { var token = Guid.NewGuid().ToString(); return CacheManager.AddOrUpdate(token, int.Parse(Math.Round(FormsAuthentication.Timeout.TotalSeconds).ToString()), k => new LoginInfo() { UserName = userName, Token = token }, (k, info) => info, "Token 数据缓存"); @@ -34,18 +42,4 @@ namespace Bootstrap.Admin.Controllers return new LoginInfo(); } } - /// - /// - /// - public class LoginInfo - { - /// - /// - /// - public string UserName { get; set; } - /// - /// - /// - public string Token { get; set; } - } }