粗略使用.NetCore2.0自带授权登陆Authorize

本文介绍了.NetCore2.0中Authorize授权的简单使用,包括配置、登录、退出流程,以及session和cookie的关系。通过配置Cookie认证并设置相关参数,实现登录授权和自动跳转。同时讨论了cookie在存储用户会话ID(token)中的作用。
摘要由CSDN通过智能技术生成

上篇Linux+.NetCore+Nginx搭建集群 有朋友提及到如果nginx做集群后应该还会有下一篇文章主讲session控制,一般来说就是登陆;本篇分享的内容不是关于分布式session内容,而是netcore自带的授权Authorize,Authorize粗略的用法,希望能对大家有好的帮助;

  • web网站session和cookie关系

  • 在NetCore中使用Authorize登陆

web网站session和cookie关系

要说session和cookie关系,恐怕有很多文章都有说过,这里我只阐述下自己的理解,尽可能的做到通俗易懂;对于session往往存储于服务端,登陆的话session一般会存储登陆用户的基本信息,还有个会话唯一sessionId(以下简称:token),这个token会分配到每个用户头上,服务端根据用户请求的token来识别服务端存储的登陆信息,以此达到登陆的目的;

客户端要传递这个同样的token,必须要存储起来,这就要用到咋们说的cookie,客户端用cookie来存储token,cookie拥有过期时间特性能够很好的做到登录失效的效果(尽管session也有),往往在分布式的时候cookie和session的失效时间都会设置,只要某一个时间过期了将视为需要重新登录或者需要重新设置cookie;下面将截图在谷歌浏览器下某个网站的cookie存储图:

能够看出cookie存储就是key-value的方式,唯一的名字+value;

在.NetCore中使用Authorize登陆

对于Authorize经常使用mvc的朋友肯定不陌生,在core中使用Authorize登录首先需要在Starup.cs的ConfigureServices方法中配置下,这里我直接给出粗略的配置吧(满足登录):

public void ConfigureServices(IServiceCollection services)

        {

            services.AddMvc();


            //配置authorrize

            services.AddAuthentication(b =>

            {

                b.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;

                b.DefaultChallengeScheme = CookieAuthenticationDefaults.AuthenticationScheme;

                b.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;

            }).

            AddCookie(b =>

            {

                //登陆地址

                b.LoginPath = "/login";

                //sid

                b.Cookie.Name = "My_SessionId";

                // b.Cookie.Domain = "shenniu.core.com";

                b.Cookie.Path = "/";

                b.Cookie.HttpOnly = true;

                b.Cookie.Expiration = new TimeSpan(0, 0, 30);


                b.ExpireTimeSpan = new TimeSpan(0, 0, 30);

            });

        }

下面简单说明下cookie的属性效果:
  • b.Cookie.Name:就是cookie的名字,对应第一小节谷歌浏览器截图的Name;

  • b.LoginPath:设置登陆失败或者未登录授权的情况下,直接跳转的路径这里,这是/login;

  • b.Cookie.Domain:指定cookie对应的域名,这里我没域名和没设置本地host所以屏蔽,屏蔽的或默认localhost;

  • b.Cookie.HttpOnly:设置cookie只读情

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值