前台页面
@model King.Web.Core.Models.UserAccount <div> @using (Html.BeginForm()){ <text>登录</text> @Html.TextBoxFor(m => m.UserName)<br /> <input type="submit" value="login" /> } </div>
后台代码
/// <summary> /// 登录 /// </summary> public ActionResult Login() { return View(); } [HttpPost] public ActionResult Login(UserAccount model) { if (model.UserName == "admin") { //创造票据 FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(model.UserName, false, 30); //加密票据 string ticString = FormsAuthentication.Encrypt(ticket); //输出到客户端 Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, ticString)); //跳转到登录前页面 return Redirect(HttpUtility.UrlDecode(Request.QueryString["ReturnUrl"])); } return View(); } /// <summary> /// 注销 /// </summary> public ActionResult Logout() { FormsAuthentication.SignOut(); return Redirect(FormsAuthentication.LoginUrl); }
验证所有页面
<authentication mode="Forms"> <forms loginUrl="~/Account/Login" timeout="2880" path="/" /> </authentication> <authorization> <deny users="?"/> </authorization>
Home/Index 不验证
<location path="Home/Index"> <system.web> <authorization> <allow users="*" /> </authorization> </system.web> </location>