[b]1、用户登录[/b]
验证用户是否登录成功步骤直接忽略,用户登录成功后怎么保存当前用户登录信息(session,cookie),本文介绍的是身份验证(其实就是基于cookie)的,下面看看代码。
引入命名空间
using System.Web.Security;
[url={0}]filterContext.Result = Content;
}
else
{
string[] Role = CheckLogin.Instance.GetUser().Roles.Split(',');//获取所有角色
if (!Role.Contains(Code))//验证权限
{
//验证不通过
ContentResult Content = new ContentResult();
Content.Content = "<script type='text/javascript'>alert('权限验证不通过!');history.go(-1);</script>";
filterContext.Result = Content;
}
}
}
}
那么在action中怎么去调用呢?这里贴出HomeController中的代码来看下。
public class HomeController : BaseController
{
[AuthAttribute(Code = "admin")]//验证通过(这个action只允许admin查看)
public ActionResult Index()
{
Users ModelUser = CheckLogin.Instance.GetUser();
return View(ModelUser);
}
[AuthAttribute(Code = "user")]//验证不通过
public ActionResult Index2()
{
return View();
}
[AuthAttribute(Code = "admin")]//验证通过,发生异常
public ActionResult Index3()
{
return View();
}
}
这样就可以把权限控制到action了。
[b]3、异常处理
[/b]上面HomeController并不是继承Controller,而是继承我们自己定义的一个BaseController,那么我们来看看BaseController中有写什么东西?
[url=http://xiazai.1sucai.cn/201210/yuanma/FromCheckDemo_jb51.rar]实例代码[/url]
作者:LyIng.Net