.NET Core 2.0 新时代

万众瞩目的.NET Core 2.0终于发布了,原定于9.19的dotnetconf大会的发布时间大大提前了1个月,.NET Core 2.0/.NET Standard 2.0的正式发布是.NET 开源跨平台的一个重大里程碑。

.NET Core 2.0 SDK下载地址:https://www.microsoft.com/net/download/core#/sdk

Visual Studio 2017 15.3下载地址:https://www.visualstudio.com/zh-hans/downloads/

更新ASP.NET Core 项目中的目标框架

更新ASP.NET Core Web项目中的Nuget依赖项

备注:删除之前的 Microsoft.* 依赖项,使用 Microsoft.AspNetCore.All。

.NET Core 2.0 更新Cookie中间件使用方法

备注:我这边当前项目单独使用的Cookie中间件,未结合Identity使用。

1:在ConfigureServices添加Cookie中间件,使用自定义Scheme(坑就在这里) 

services.AddAuthentication(options=> {
options.DefaultChallengeScheme = CookieAuthenInfo.QwCmsWebCookieInstance;
options.DefaultSignInScheme = CookieAuthenInfo.QwCmsWebCookieInstance;
options.DefaultAuthenticateScheme = CookieAuthenInfo.QwCmsWebCookieInstance;
})
.AddCookie(CookieAuthenInfo.QwCmsWebCookieInstance, m =>
{
m.LoginPath = new PathString("/Account/Login");
m.AccessDeniedPath = new PathString("/Account/Denied");
m.LogoutPath = new PathString("/Account/Logout");
m.Cookie.Path = "/";
});

踩坑:报异常 No authenticationScheme was specified, and there was no DefaultChallengeScheme found.

特别感谢Zonciu提供的帮助。

2:在Configure使用Cookie中间件

 app.UseAuthentication();

使用扩展类AuthenticationHttpContextExtensions

引入命名空间

using Microsoft.AspNetCore.Authentication;

新的扩展方法

使用方式

//登录
await HttpContext.SignInAsync(CookieAuthenInfo.QwCmsWebCookieInstance, userPrincipal,
new AuthenticationProperties
{
ExpiresUtc = DateTime.UtcNow.AddHours(12),
IsPersistent = true,
AllowRefresh = false
}); //退出
await HttpContext.SignOutAsync(CookieAuthenInfo.QwCmsWebCookieInstance); 

AuthorizeAsync现在返回结果为AuthorizationResult

新的扩展方法

使用方式

var result = await HttpContext.AuthenticateAsync("xxxx");
if (result.Succeeded)
{
......
} 

参考

1:[Draft] Auth 2.0 Migration announcement #1310

2:Migrating Authentication and Identity to ASP.NET Core 2.0

.NET Core 从1.1升级到2.0记录(Cookie中间件踩坑)的更多相关文章

  1. ASP.NET Core 2.1 : 十.升级现有Core2.0 项目到2.1

    .NET Core 2.1 终于发布了, 赶紧升级一下. 一. 安装SDK 首先现在并安装 SDK(64-bit) 安装完毕后如果新建项目可以看到已经有2.1的选项了 二. 更新现有2.0项目到2.1 ...

  2. ASP.NET Core 2.0升级到3.0的变化和问题

    前言 在.NET Core 2.0发布的时候,博主也趁热使用ASP.NET Core 2.0写了一个独立的博客网站,现如今恰逢.NET Core 3.0发布之际,于是将该网站进行了升级. 下面就记录升 ...

  3. 升级到tomcat7.0碰到的问题

    今天把tomcat从6.0.18升级到7.0.25,发现了两个问题 问题1 java.lang.ClassNotFoundException: org.apache.catalina.mbeans.S ...

  4. CentOS6.5升级为CentOS7.0

    CentOS6.5升级为CentOS7.0 CentOS6.5升级为CentOS7 升级前: [root@localhost ~]# cat /proc/version  Linux version ...

  5. Asp.Net Core 2.0 项目实战(5)Memcached踩坑,基于EnyimMemcachedCore整理MemcachedHelper帮助类。

    Asp.Net Core 2.0 项目实战(1) NCMVC开源下载了 Asp.Net Core 2.0 项目实战(2)NCMVC一个基于Net Core2.0搭建的角色权限管理开发框架 Asp.Ne ...

  6. NET Core 1.1 版本项目和2.0环境下的项目开发注意事项

    在NET Core 1.1开发下的项目最好不要随便把工具更新升级到2.0,这样最容易导致之前的.NETCore直接被升级不兼容早前版本 会引起项目无法启动在运行调试IIS express 时候直接一闪 ...

  7. NET Core 2.0使用Cookie认证实现SSO单点登录

    NET Core 2.0使用Cookie认证实现SSO单点登录 之前写了一个使用ASP.NET MVC实现SSO登录的Demo,https://github.com/bidianqing/SSO.Sa ...

  8. centos7.6环境zabbix3.2源码编译安装版升级到zabbix4.0长期支持版

    zabbix3.2源码编译安装版升级到zabbix4.0长期支持版 项目需求: .2版本不再支持,想升级成4.0的长期支持版 环境介绍: zabbix服务端是编译安装的,数据库和web在一台机器上 整 ...

  9. 快速升级Zabbix 5.0 版本

    Zabbix 5.0 增加了很多新功能,如:垂直菜单.隐藏菜单.用户界面中的测试项目.限制代理检查.查找并替换预处理步骤 ES7支持等等...快来部署体验一把尝鲜体验 Zabbix 5.0 吧     ...

随机推荐

  1. POJ-3252 Avenger

    题意:在区间中,他们化成2进制的数的0的个数大于等于1的数有多少个. 思路:我们需要记录上一次0和1的个数,此外我们还要特别注意一下前导0. 如果前面全是0的时候我们就要注意下一位是不是还是0,如果一 ...

  2. 2018.10.27 bzoj3209: 花神的数论题(数位dp)

    传送门 数位dpdpdp经典题. 题面已经暗示了我们按照二进制位来数位dpdpdp. 直接dpdpdp多少个数有111个111,222个111,333个111-, 然后快速幂算就行了. 于是我们枚举前 ...

  3. Codeforces Round #548 (Div. 2) D 期望dp + 莫比乌斯反演

    https://codeforces.com/contest/1139/problem/D 题意 每次从1,m中选一个数加入队列,假如队列的gcd==1停止,问队列长度的期望 题解 概率正着推,期望反 ...

  4. CLE的使用笔记

    CLE官网http://www.srplab.com/cn/index.html 下载CLE for Android,解压文件,拷贝 starcore_android_rX.X.jar到工程的libs ...

  5. bind函数(c++11)

    1.概念 1)c++11使用bind()函数可以向函数传递参数,一般调用形式为: 返回的newCallable是一个可调用的对象,callable是需要传参的函数,arg_list是参数列表 2)bi ...

  6. identify.class.php<======>token加密方法

    class Identify { static private $cert = "1111111"; static public function writeSecret($mob ...

  7. c# devexpress学习绘图

    用字典方式存储数据并绘图:http://www.xuebuyuan.com/465384.html 数据库存储数据,并对图形作各种设置:http://www.cnblogs.com/xuhaibiao ...

  8. ZOJ 2132 The Most Frequent Number (贪心)

    题意:给定一个序列,里面有一个数字出现了超过 n / 2,问你是哪个数字,但是内存只有 1 M. 析:首先不能开数组,其实也是可以的了,后台数据没有那么大,每次申请内存就可以过了.正解应该是贪心,模拟 ...

  9. MongoDB常用命令总结

    查看数据库 show dbs; 选择某个库 use db; 查看库下的表(暂且说成是表,mongodb中称表问文档) show collections; 插入数据 db.table.insert( { ...

  10. adb push init.rc /

    http://blog.csdn.net/jumper511/article/details/28856249 修改Android init.rc文件后,需要将修改后的文件上传到手机,但是发下如下问题 ...