Skip to main content

Json Web Token介绍

分类:  Asp.net Core认证和授权 标签:  #Asp.Net core基础 #认证 #.Net 发布于: 2023-05-27 18:53:17

以前最简单的办法是基于Session的方式,所谓的Session的方式是系统向用户展示一个登录的界面,用户提供正确的依据(例如用户密码)在登录处登录成功后(SignIn), Web系统针对这一次生成一个唯一的ID,同时服务器侧生成和用户相关的信息,例如一个用户对象,这个用户对象里可能保存各种和用户相关的信息,例如用户的ID, 用户的电话等等信息,这部分信息系列化之后存放在服务器侧,然后将生成的唯一ID存于cookie或者是URL查询字符串的形式返回给客户端,用户端每次需要访问资源的时候会这个唯一的ID以cookie或者是以为header值或者是URL查询字符串等形式带入到服务器侧,服务器根据ID 再次从服务器侧查询到和ID相关的用户信息,需要的时候反序列化出来就可以了。 这个

Read more

使用Cookie完成Asp.net Core认证

分类:  Asp.net Core认证和授权 标签:  #Asp.Net core基础 #认证 #.Net 发布于: 2023-05-27 18:46:16

关于如何使用ASP.netCore 提供的Identity库,我们前面通过几篇文章简单的带领大家入门了,同时我们也捎带讲述一些最为基本的ASP.net Core认证的基本理念,那么接下来我们将讲述ASP.net Core提供的最基本的认证的设计理念和框架,当然大家也可以继续使用Identity库。 今天我们这篇文章算是开篇,简简单单的一个入门的教程,如何使用CookieAuthencationSchema来认证用户,这篇讲完之后,我们讨论一下ASP.net Core对于认证的基本解决方案和理念,讲完这个之后再讲述授权。 还是先复习一下基本的理论:ASP.net Core主要是使用接口IAuthencationService服务配合AuthencitationHandler以及Ha

Read more

配置Asp.net Core Identity

分类:  Asp.net Core认证和授权 标签:  #Asp.Net core基础 #认证 #.Net 发布于: 2023-05-27 18:35:23

默认情况Identity使用默认的值对密码,Cookie, 声明进行配置,但是你可以在Startup.configureService中通过IdentityOption对Identity进行配置,例如: 配置的方法如上图所示,但是必须要保证配置在调用AddIdentity或者AddDefaultIdentity之后。 声明标识(Claim Identity)配置 这里我们有必要理解一下Claim和Claim Identity这两个概念,Claim这里我们表示为声明,例如你进入公司的工牌,那么工牌就是我们的声明标识(Claim Identity), 但是工牌上的员工工号就是我们的声明(Claim),

Read more

定制Asp.net Core Identity

分类:  Asp.net Core认证和授权 标签:  #Asp.Net core基础 #认证 #.Net 发布于: 2023-05-27 18:30:23

由于ASP.net Core的Identity库是以RCL库的形式发布的,因此我们需要对UI进行定制的话,我们首先需要覆盖Identity自带的所有的页面,请参考文章 使用脚手架工具覆盖所有的文件,然后你可以在目录Area/Identity下找到所有的文件,根据自己的需要进行UI的更改就可以了,同时注意在使用脚手架工具时选择自己项目中的模板所在的位置:

Read more

Asp.net Core Identity代码自动生成

分类:  Asp.net Core认证和授权 标签:  #Asp.Net core基础 #认证 #.Net 发布于: 2023-05-27 18:19:13

我们前面两篇已经讨论了ASP.netCore的认证基本概念和ASP.net Core Identity基本工具的介绍。大家有兴趣的话,可以翻到之前的文章。 我们这一章介绍一下VisualStudio提供的Identity代码生成工具,Identity Scaffold, 本章要求你有Visual studio, Visual Studio提供三个版本,小型的开发其实只需要社区版就可以了,另外及其推荐Visual Studio 增加两个插件: Github & VsVim, 这两个插件简直是神器。 不得不再吹一句:VisualStuido 真不愧是宇宙中第一的开发利器。真香! 首先我们来使用Visualstuido来快速的生成一个基于ASP.net Core Identit

Read more

Asp.net Core Identity介绍

分类:  Asp.net Core认证和授权 标签:  #Asp.Net core基础 #认证 #.Net 发布于: 2023-05-27 18:11:10

我们前面一章讲述了关于一个认证系统中必要的概念以及抽象的方法,您可以通过如下的文章来回顾一下: 大家需要对于几个人概念要非常清晰的理解,这就是认证系统中需要实现的几个动作: SignIn Authenticate Challenge Forbid SignOut Claim Claim Principal 另外对于ASP.net Core中的Service, Filter, 以及middleware 这些概念也有清晰的了解,如果不清楚这些基本的概念,建议你尽快复习一下这些概念。同时要理解ASP.net Core是通过注册实现了IAhtuenticationService以及启用Authentication中间件进行认证。 ASP.n

Read more

Asp.net Core认证概述

分类:  Asp.net Core认证和授权 标签:  #Asp.Net core基础 #认证 #.Net 发布于: 2023-05-27 17:59:31

什么是认证? 认证就是应用或者系统对于来自用户访问需要被保护资源的一个身份的判定过程,日常生活中其实也有很多的实际例子,例如说你到公司上班,保安处的同事需要看你的工牌,或者你需要刷门禁卡进入公司,这些都是属于认证的日常表现,也是实际的应用场景。那么这里有一个有趣的问题,登录系统这个动作是认证吗?并不是,就像进入公司保安问你要工牌,你去包里拿工牌这个动作并不是认证,这个动作只能是算是登录。认证是一个鉴定身份的动作。 那么什么是认证系统?认证系统需要由哪些动作来完成呢?

Read more

Blazor表单和数据验证

分类:  Blazor入门 标签:  #Asp.Net core基础 #.Net #Web #Web Client #Blazor 发布于: 2023-05-27 16:57:24

对于表单和数据验证,只要做过几天Web开发,都知道这两个概念是有多重要,在CGI,PHP以及ASP横行的年代,很多网站被SQL注入攻击,被各种javascript代码攻击注入频繁发生,主要原因就是大家没有总结表单提交的数据验证,这些问题直到成熟的编程框架出现之后,这些问题才慢慢的被解决。我们今天来看一下Blazor的表单验证。 主要的应用场景我们可以考虑如下的场景: 客户端的数据验证。 客户端验证通过后,同时客户端部分的业务逻辑验证 客户端验证全部完成后,提交后台,后台也需要进行数据验证,验证成功或者失败,成功返回Status code 200, 但是如果验证失败返回到客户端,客户端如何支持验证错误的信息呢? 普通的格式验证之外,如何处理业务验证呢?例如不能有同

Read more

Blazor的布局组件

分类:  Blazor入门 标签:  #Asp.Net core基础 #.Net #Web #Web Client #Blazor 发布于: 2023-05-27 16:49:47

布局也是一种Blazor组件,所以我们可以在布局组件里使用我们所有前面学习过的所有知识。但是对于整个应用来讲我们需要设定一个默认的布局,当您创建好实例代码之后,默认布局组件是被放置到Shared目录下,组件名称是MainLayout.razor, 同时我们注意到也定义了一个独立的CSS定义文件Mainlayout.razor.css, 同时我们主要是通过App.razor 组件来通过RouteView组件来使用布局组件, 如下图:

Read more