需求就是要求有些页面需要用户登陆了之后才能访问,那么就需要是否登录验证,直接上代码:

这个可以单独写到一个类里面:

WebAuthenUsers.cs:

using System;
using System.IO;
using System.Net;
using System.Text;
using System.Web.Mvc;
using WLSH.B2B.Shop.Common;
using WLSH.B2B.Shop.Core;
using WLSH.B2B.Shop.Core.DataBase;
using WLSH.B2B.Shop.Core.DataOther;namespace WLSH.B2B.Shop.Web
{public class WebAuthenUsers : ActionFilterAttribute{/// <summary>/// 执行Action之前操作/// </summary>/// <param name="filterContext"></param>public override void OnActionExecuting(ActionExecutingContext filterContext){//BaseServiceContents<Users> _baseContent = new BaseServiceContents<Users>();//Users users = _baseContent.Find(Guid.Parse("7CB684BD-667F-4CA3-91D2-A2AF2B802044"));//filterContext.HttpContext.Session["UserInstance"] = users;//构造未登陆时的转向urlvar urlHelper = new UrlHelper(filterContext.RequestContext);var url = urlHelper.Action("Login", "Home");//3.返回文本执行var contentResult = new ContentResult{Content = "<script>window.opener=null; window.top.location='/Home/Login';</script>"};//判断是否登陆if (filterContext.HttpContext.Session == null || filterContext.HttpContext.Session["CustomerInstance"] == null) // || !IsTimeOut()
            {//1.转向操作//filterContext.Result = new RedirectResult(url);//2.执行js脚本,貌似只支持ajax请求//ContentResult contentResult = new ContentResult();//contentResult.Content = "alert('Hello World!');";//contentResult.ContentType = "application/x-javascript";
filterContext.Result = contentResult;}//else//{//    //判断功能权限//    var controllerName = filterContext.RouteData.Values["controller"].ToString();//    var actionName = filterContext.RouteData.Values["action"].ToString();//    string thisRequestUrl = string.Format(",/{0}/{1},", controllerName, actionName);//    //Users users = App.Instance.HaveAuthorityUser ?? new Users();//    if (users != null && users.RolesId != Guid.Empty)//    {//        //非超级管理员//        if (users.RolesId != Guid.Parse("B22468F7-4352-4C07-9C9A-62222A67322A"))//        {//            string urlAllString = roleFeaturesRepository.GetRoleFeaturesUrlListByRoleId(users.RolesId.ToString());//            if (!string.IsNullOrEmpty(urlAllString) && urlAllString.IndexOf(",") > -1)//            {//                urlAllString = "," + urlAllString + ",";//                int index = StringHelper.GetStrCount(urlAllString, thisRequestUrl);//                if (index < 0)//                    filterContext.Result = contentResult;//            }//            else//                filterContext.Result = contentResult;//        }//    }//    else//        filterContext.Result = contentResult;//}//处理Action之前操作内容根据我们提供的规则来定义这部分内容base.OnActionExecuting(filterContext);}/// <summary>/// 执行Action之后操作/// </summary>/// <param name="filterContext"></param>public override void OnActionExecuted(ActionExecutedContext filterContext){base.OnActionExecuted(filterContext);}}
}

使用方法:

/// <summary>/// 购物车页面/// </summary>/// <returns></returns>
        [WebAuthenUsers]public ActionResult Index(){Guid userid = App.Instance.HaveAuthorityCustomer.Id;if (userid != new Guid()){ViewBag.cartList = _cartsRepository.GetCartList(userid.ToString().Trim());}return View();}

[WebAuthenUsers]也可以加在

这前面,表示这个controller都需要登录验证

转载于:https://www.cnblogs.com/LoveQin/p/5672459.html

MVC判断用是否登录了平台相关推荐

  1. Java web登录拦截器_Spring MVC 拦截器实现登录

    上篇博文我在博客中讲到如何使用spring MVC框架来实现文件的上传和下载,今天小钱给大家再来分享和介绍Spring MVC框架中相当重要的一块功能--拦截器. 关于拦截器的概念我在这里就不多说了, ...

  2. vue判断浏览器是否id_QQ被曝读取浏览器历史记录!回应称系用于判断是否恶意登录...

    近日,有网友反映,腾讯QQ在软件运行期间自行读取用户的浏览器历史记录数据,引发网友关注.南都记者注意到,1月18日,腾讯QQ官方账号在网络问答社区知乎回应此事称,经过调查,发现PC QQ存在读取浏览器 ...

  3. python验证用户登录的判断_python怎么判断用户是否登录?

    python中判断用户是否登录的方法:def cmdbindex(req): if not request.user.is_authenticated(): return render(request ...

  4. javaweb关于用户是否登录全局判断,没有登录跳转到登录界面

    javaweb关于用户是否登录全局判断,没有登录跳转到登录界面 有这样一个需求,用户密码登录网站,在session中保留了用户的信息,但是用户很长时间没有再操作该界面,用户的session则被浏览器清 ...

  5. s:if的用法(判断用户是否登录过了的操作)

    判断用户是否登录了的代码: <s:if test="#session.account.name != null"> 1:直接写表达式 <s:set name=&q ...

  6. html页面判断是否登录,egg(103)--egg之定义公共的中间件判断用户是否登录以及去结算页面制作...

    判断用户是否登录 中间件 app/middleware/userauth.js module.exports = (options, app) => { return async functio ...

  7. vue-router判断页面未登录时,自动跳转到登录页

    1.定义路由的时候配置meta属性,requireAuth用来标记跳转的这个路由是否需要检测登录 下面的两个页面,登录页不需要检测,首页需要检测 const routers = [ {path: '/ ...

  8. MVC 打印解决方案--SNF快速开发平台3.1

    MVC 打印解决方案--SNF快速开发平台3.1 参考文章: (1)MVC 打印解决方案--SNF快速开发平台3.1 (2)https://www.cnblogs.com/spring_wang/p/ ...

  9. 判断用户是否登录成功

    根据用户输入的用户名和密码,判断用户是否登录成功 功能需求: 1).系统里面有多个用户,用户信息目前保存在列表里面; users=['root','westos'] passwds=['123','4 ...

最新文章

  1. 2021年大数据Hadoop(十):HDFS的数据读写流程
  2. hexo博客更新主题后上传Git操作
  3. JAVA EE Eclipse下配置Tomcat服务器
  4. 一文说通C#中的异步编程
  5. [CMake] 简单的样例工程
  6. 2006. 差的绝对值为 K 的数对数目
  7. 如何在android上嵌入mupdf作为pdf阅读器
  8. 龙哥库他发matlab程序,编程实现四阶龙哥库塔法解方程
  9. luoguP4234 最小差值生成树
  10. 知识点四 图论:dijkstra (HDU 2544 +HDU 1874)
  11. 旅游类App的原型制作分享
  12. [024] 微信公众帐号小q机器人实例.
  13. 解决M1芯片mac安装AU( Audition2020)AU2020已适配M1芯片,M1处理器安装AU教程方案
  14. Testlink配置设置(参考文章)
  15. php 炸金花牌型 和 比牌 规则
  16. 实时计算Flink+Hologres
  17. java缺少方法主体_Java开发网 - 总是报错(缺少方法主体,或声明抽象)
  18. To B 业务 vs To C 业务
  19. 一文读懂机器学习中的贝叶斯统计学
  20. 从终端进入本地其他磁盘

热门文章

  1. 关于从EXCEL中导入到SQL server中的问题
  2. Flutter StatefulBuilder 用来实现局部数据刷新
  3. Mr.J-- jQuery学习笔记(十一)--事件委托
  4. 使用RemObjects Pascal Script
  5. [LeetCode] 143. Reorder List_Middle tag: Linked List
  6. ECharts属性设置
  7. 数据库连接和乱码问题
  8. h:commandButton
  9. Django+xadmin 打造线上教育平台(二)-1(旧)
  10. EmailMessage类