using Bootstrap.Admin.Models; using Bootstrap.DataAccess; using Longbow.Security.Principal; using System; using System.Web.Mvc; using System.Web.Security; namespace Bootstrap.Admin.Controllers { /// /// /// public class HomeController : Controller { /// /// /// /// public ActionResult Index() { var v = new HeaderBarModel(); v.ShowMenu = true; return View(v); } /// /// /// /// public ActionResult Lock(LockModel model) { if (!string.IsNullOrEmpty(model.Password)) { return RedirectToAction("Login", new { userName = model.UserName, password = model.Password }); } var user = UserHelper.RetrieveUsersByName(User.Identity.Name); model.UserName = user.UserName; model.DisplayName = user.DisplayName; return View(model); } /// /// /// /// /// /// /// [AllowAnonymous] public ActionResult Login(string userName, string password, string remember) { //UNDONE: 本方法有严重安全漏洞,发布前需要修正 var model = new LoginModel(); if (string.IsNullOrEmpty(userName)) return View(model); model.UserName = userName; if (LgbPrincipal.IsAdmin(userName) || UserHelper.Authenticate(userName, password)) { LgbPrincipal.SavePrincipalCookie(new LgbUser() { RealUserName = userName }); FormsAuthentication.RedirectFromLoginPage(userName, false); } return View(model); } /// /// /// /// [AllowAnonymous] public ActionResult Logout() { FormsAuthentication.SignOut(); LgbPrincipal.UndoImpersonate(); return RedirectToAction("Login"); } /// /// /// /// [AllowAnonymous] public ActionResult Register(User p) { if (string.IsNullOrEmpty(p.UserName) || string.IsNullOrEmpty(p.Password) || string.IsNullOrEmpty(p.DisplayName) || string.IsNullOrEmpty(p.Description)) return View(); p.UserStatus = 1; var result = UserHelper.SaveUser(p); if (result) { return Redirect("/Content/html/RegResult.html"); } else return View(); } /// /// /// /// [AllowAnonymous] public ActionResult Mobile() { return View(); } } }