博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[mvc] 简单的forms认证
阅读量:6235 次
发布时间:2019-06-22

本文共 1953 字,大约阅读时间需要 6 分钟。

1、在web.config的system.web节点增加authentication节点,定义如下:

2,新增AccountController。

public class AccountController : Controller    {        // 用于初期表示用        public ActionResult Login()        {            return View();        }        // 登录按钮        [HttpPost]        public ActionResult Login(string username, string password, string returnUrl)        {            bool result = FormsAuthentication.Authenticate(username, password);            if (result)            {                FormsAuthentication.SetAuthCookie(username, false);                return Redirect(returnUrl ?? Url.Action("Index", "Admin"));            }            else            {                ModelState.AddModelError("", "Incorrect username or password");                return View();            }        }    }

3、Login.cshtml

@{    Layout = null;}    
@using (Html.BeginForm()) { @Html.ValidationSummary()

}

4、浏览器输入http://localhost:44324/Account/Login,输入web.config中定义的用户名和密码,成功就会进入Admin/Index页面。

5、其他页面如何进行认证?

1)在action中加Request.IsAuthenticated判断

public class AdminController : Controller    {        // GET: Admin        public string Index()        {            if (!Request.IsAuthenticated)            {                FormsAuthentication.RedirectToLoginPage();            }            return "welcome to Admin page!";        }    }

2)在action方法上加Authorize特性

public class AdminController : Controller    {        // GET: Admin        [Authorize]        public string Index()        {            return "welcome to Admin page!";        }    }

3)在controller上加Authorize特性(所有的action都会应用上)

[Authorize]    public class AdminController : Controller    {        // GET: Admin        public string Index()        {            return "welcome to Admin page!";        }    }

 

转载地址:http://zvqna.baihongyu.com/

你可能感兴趣的文章
JDBC的事务
查看>>
Io流的概述
查看>>
App 卸载记录
查看>>
JavaScript变量和作用域
查看>>
开源SIP服务器加密软件NethidPro升级
查看>>
作业:实现简单的shell sed替换功能和修改haproxy配置文件
查看>>
Altium 拼板方法以及 注意的 地方
查看>>
Apache Pulsar中的地域复制,第1篇:概念和功能
查看>>
python pip install 出现 OSError: [Errno 1] Operation not permitted
查看>>
oracle12C 重做日志
查看>>
从源码分析scrollTo、scrollBy、Scroller方法的区别和作用
查看>>
ObjectOutputStream和ObjectInputStream
查看>>
nagios客户端未启动报错
查看>>
南京大学周志华教授当选欧洲科学院外籍院士
查看>>
《OpenGL ES应用开发实践指南:Android卷》—— 1.3 初始化OpenGL
查看>>
马士兵教学语录
查看>>
计算机网络与Internet应用
查看>>
MongodDB学习笔记(二)(复制)
查看>>
oracle在线迁移同步数据,数据库报错
查看>>
linux性能剖析工具
查看>>