EF .NetCore 登陆的session与cookie、授权过滤器

这篇博客介绍了在EF .NetCore中如何处理登录后的session和cookie,包括在登陆方法中存储session和cookie的值,自定义SessionExtensions类来处理对象存储,以及在Startup.cs中配置服务和中间件。此外,还讲解了如何在控制器中通过UserAuthorizeAttribute授权过滤器来控制访问权限,并展示了如何清除cookie。
摘要由CSDN通过智能技术生成

1.在登陆方法中存储session、cookie值

public JsonResult Login(AdminUser adminUser,bool check)
        {
            
            Operate operate = new Operate();
            AdminUser adminUsers = new AdminUser();
            Expression<Func<AdminUser, bool>> lambdaExpression = a => a.Name == adminUser.Name && a.Password == adminUser.Password;
            adminUsers = adminInfoService.Query(lambdaExpression);
            operate.Success = adminUsers != null;
            if (adminUsers != null)
            {
                operate.Success = true;
                //存储session值
                AdminContext.adminContext.adminInfo = adminUsers;
                //如果选中保存密码则存储cookie
                if (check)
                {
                    //存储cookie
                    //创建一个Cookie对象
                    HttpCookie httpCookie = new HttpCookie("CookieName");
                    //设置Cookie的值
                    httpCookie.Values.Add("Name", adminUsers.Name);
                    httpCookie.Values.Add("Password", adminUsers.Password);
                    httpCookie.Values.Add("DateTime", DateTime.Now.AddDays(7).ToString("yyyy-MM-dd HH:mm:ss"));
                    //设置Cookie的过期时间
                    httpCookie.Expires = DateTime.Now.AddDays(7);
                    System.Web.HttpContext.Current.Response.Cookies.Add(httpCookie);
                }
            }
            return Json(operate);
        }

2.session存储的是对象,而提供的是没有对象的,所以自写方法

//注册session
            services.AddSession(s=> {
                s.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值