简单的Asp.NET MVC身份验证

一.通过FormsAuthenication

   1.编写动作方法

[HttpPost]

public ActionResult Login(Admin admin)

{

string adminName=new AdminManager().Admin(admin);

if(adminName!=null)

{

FormsAuthentication.SetAuthCookie(adminName,false);

ViewBag.Info=adminName;

}

else

{

ViewBag.Info="用户名或者密码错误!";

}

return View();

}

2.控制权限的Action

public ActionResult Index()

{

if(this.User.Identity.IsAuthenticated)

{

string adminName=this.User.Identity.Name;

ViewBag.adminName=adminName;

return View("ManagerPage");

}

else

{

return RedirectoAction("Index","Login");

}

}

3.在配置文件中配置Cookie的有效时间

在system.web节点里面进行配置

<authentication mode="Forms">

<forms loginUrl="~/Login/Index" timeout="2000"/>

</authentication>

model:验证方式(Forms None Password Windows)

loginUrl:验证失败跳转到登录页面

timeout:Cookie的有效期,单位是分钟

4.业务逻辑层

public string Login(Admin admin)

{

admin=loginService.Login(admin);

if(admin!=null)

{

HttpContext.Current.Session["CurrentAdmin"]=admin;

return admin.AdminName;

}

else

{

return null;

}

}

5.用户注销

public ActionResult Logout()

{

//从浏览器中删除Form身份验证票证

FormsAuthentication.SignOut();

Session["CurrentAdmin"]=null;

return View("Login");

}

二.升级版的授权---特性授权

1.直接使用[Authorize],放在你需要进行授权的地方,效果和上面的代码一样。

2.高级授权,指定某一个用户[Authorize(Users="XXX")]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值