public class AuthenAdminAttribute:FilterAttribute,IAuthorizationFilter
{ public void OnAuthenticationChallenge(AuthenticationChallengeContext filterContext)
{
//这个方法是在Action执行之后调用
} public void OnAuthorization(AuthorizationContext filterContext)
{
//这个方法是在Action执行之前调用
var user = filterContext.HttpContext.Session["userName"];
if (user == null)
{
//filterConetext.HttpContext.Response.Redirect("/Login/index");
var url = new UrlHelper(filterContext.RequestContext);
var urls = url.Action("Index", "Login");
filterContext.Result = new RedirectResult(urls);
}
}
}

  在需要使用做登录状态判断的地方添加[Autenadmin]放在类前面表示整个控制器的每个Action都需要验证

单独放在Action之前表示只有该Action需要验证

    [AuthenAdmin]
public class HelloController : Controller
{
// GET: Hello
public ActionResult Index()
{
return View();
}
public string welcome(string name,int id=1){ return HttpUtility.HtmlEncode("hello "+name+":"+id);
}
}
  • 在Controller类中方法访问级别为public的方法,就是行为(Action).
  • 如果不希望Controller类中的方法成为Action(可以在地址栏中被访问),有两种实现方式:
  1. 将方法的访问级别设置为private
  2. 在方法上添加特性标记[NonAction]

借鉴: http://www.lanhusoft.com/Article/73.html

方法二:
public class BaseController : Controller
{ protected override void OnActionExecuting(ActionExecutingContext filterContext)
{ if (HttpContext != null)
{
if (HttpContext.Session["userName"] != null)
{ }
else
{
filterContext.Result = new RedirectResult("/Login/Index");
}
}
base.OnActionExecuting(filterContext);
}
}

  

C# MVC登录判断状态的更多相关文章

  1. MVC下判断用户登录和授权状态方法

    MVC下判断用户登录和授权状态方法 在我们日常开发的绝大多数系统中,都涉及到管理用户的登录和授权问题.登录功能(Authentication),针对于所有用户都开放:而授权(Authorization ...

  2. MVC _ aspx视图引擎登录及状态保持

    MVC - M(Model模型层)   V(View视图层)   C(Control控制层) 数据访问层        界面层       业务逻辑层 WebForm 是请求访问哪一个页面,返回的是一 ...

  3. 判断密码是否可见/判断登录的状态/判断在form表单中 定义rules规则验证(iview)

    一: 判断密码是否可见判断:type="visiblePassword ? 'text' : 'password'" 是否为false 或者 true 密码为输入框或者文本框点击眼 ...

  4. 【转】【可用】Android 登录判断器,登录成功后帮你准确跳转到目标activity

    我们在使用应用时肯定遇到过这样的情景,打开应用,并不是需要我们登录,你可以浏览应用中的大部分页面,但是当你想看某个详情页的时候,点击后突然跳转到了登录页面,好,我们输入账号密码,点击登录,登录成功,跳 ...

  5. 【2017-05-21】WebForm内置对象:Session、Cookie,登录和状态保持

    1.Request -获取请求对象 string s =Request["key"]; 2.Response  -  响应请求对象 Response.Redirect(" ...

  6. WebForm内置对象:Session、Cookie,登录和状态保持

    1.Request -获取请求对象 string s =Request["key"]; 2.Response  -  响应请求对象 Response.Redirect(" ...

  7. 第二百六十九节,Tornado框架-Session登录判断

    Tornado框架-Session登录判断 Session需要结合cookie来实现 Session的理解 1.用户登录系统时,服务器端获取系统当前时间,进行nd5加密,得到加密后的密串 2.将密串作 ...

  8. 登录锁定状态下Win7关机技巧总结

    登录锁定状态下Win7关机技巧总结 一般在锁定状态都是有个关闭电脑的图标的.但是如果你的系统没有,那么怎么样关机呢,所谓的锁定状态通常是指电脑在登录界面,具体的实现如下,感兴趣的朋友可以参考下 现在大 ...

  9. Spring mvc登录拦截器

    自己实现的第一个Spring mvc登录拦截器 题目要求:拒绝未登录用户进入系统,只要发现用户未登录,则将用户请求转发到/login.do要求用户登录 实现步骤: 1.在spring的配置文件中添加登 ...

随机推荐

  1. Redis入门笔记-redis内部数据结构(01)

    redis是一个轻量级的Nodsql数据库,使用kev-value的形式存储数据,在redis的世界里,没有整数.浮点数等概念,大多数情况下数据以字符串形式展现,偶尔会出现Long类型数据的场景. 一 ...

  2. jQuery删除元素

    remove() - 删除被选元素(及其子元素) empty() - 从被选元素中删除子元素 $("#div1").remove();删除被选元素及其子元素. $("#d ...

  3. Java的编译与运行

    编译: 是指将我们编写的Java源文件翻译成JVM认识的 .class 文件, 在这个过程中,javac 编译器会检查我们所写的程序是否有错误,有错误就会提示出来,如果没有错误就会编译成功. 运行: ...

  4. Illegal instruction 问题的解决方法

    写的程序在一些arm板子上可以运行, 可在一些板子上出现 Illegal instruction 这个一般是 arm指令不匹配的问题. 在编译参数中, 加上  -march=armv4t  就可以解决 ...

  5. day01_20181223

    今日内容大纲:1,python的出生于应用.2,Python的历史.    python2x:        源码冗余,源码重复,源码不规范.    python3x:源码清晰优美简单.       ...

  6. sass揭秘之@if,@for,@each(转载)

    因为文章内含有很多sass代码,如需自己动手查看编译结果,推荐使用sassmeister这款在线编译工具,方便你阅读学习. 经过上两篇揭秘,大家心里对sass应该有了很好的认知感了,这篇文章基于前面两 ...

  7. JS 封装一个判断闰年平年的方法 aa(nian)

    nn(2017) function nn (nian){ if(nian%4 == 0 && nian%100 !== 0 || nian%400 ==0 ) { alert(&quo ...

  8. BZOJ 2527 [POI2011]MET-Meteors (整体二分+树状数组)

    题目大意:略 洛谷传送门 整体二分裸题 考虑只有一个国家的情况如何处理 对询问数量二分答案,暴力$O(m)$打差分,求前缀和验证,时间是$O(mlogK)$ 如果有$n$个国家,就是$O(nmlogK ...

  9. 备份/还原mysql数据库

    有木有遇到过这种情况?电脑或者服务器需要重装系统?可是你电脑上存着n多个网站的数据库,怎么办?把数据库文件夹拷贝出来,重装系统之后再拷回去?如果你使用了InnoDB引擎,恐怕那样做会出麻烦的,一个一个 ...

  10. jQuery(表单选择器)