记录技术与思考

清晰表达、持续积累、长期主义。

从零开始Blazor Server(5)--权限验证

这个模式在最新版的.net core中有问题,会不断的报错出异常,建议不要继续使用,改为使用其他模式。序之前我们一直使用的是微软自带的身份验证方式,即使用[Authorize]标签来做。但是这种方式十分不灵活,微软推荐的方式是加Policy,但是这种方式对我们来说还是不够灵活。所以本节我们用完全自己校验的方式完成权限验证。OnNaviga

从零开始Blazor Server(4)--登录系统

说明上一篇文章中我们添加了Cookie授权,可以跳转到登录页了。但是并没有完成登录,今天我们来完成它。我们添加Cookie授权的时候也说了,这套跟MVC一模一样,所以我们登录也是跟MVC一模一样。有个小区别是必须使用MVC去登录,Blazor本身是登录不了的。添加Controller支持在Program.cs中添加:builder.Ser

从零开始Blazor Server(3)--添加cookie授权

认证方式简述Blazor Server微软官方还是推荐直接使用Cookie授权,因为本来Blazor Server就是前后端不分离的。不存在Cookie跨域等一系列问题。只要不是使用SSO之类的统一登录方式,建议直接使用Cookie作为认证方式就行,简单方便。添加Cookie认证Blazor添加Cookie认证的方式跟MVC没什么区别,也

从零开始Blazor Server(2)--整合数据库

开篇上一篇文章我们留了个尾巴,没有把freesql整合进去,这篇文章我们来整合。目前的思路呢,是做一个简单的四不像的RABC,也有用户、角色、权限三部分。但是其中每个用户只有一个角色,即用户和角色之间是一多关系。每个角色可以有多个权限,即权限跟角色之间是多多关系。这样主要是想说一下freesql怎么做一多和多多关系。一个正常的RABC用户

从零开始Blazor Server(1)--项目搭建

项目介绍本次项目准备搭建一个使用Furion框架,Blazor的UI使用BootstrapBlazor、数据库ORM使用Freesql的后台管理系统。目前的规划是实现简单的注册,登录。增加管理员跟普通用户两种权限,不会实现复杂的权限管理,但是也不准备用默认的那套,自己实现一个简单的架子把。然后实现一下后台对用户的删除,禁用。大概就这个逻辑

HtmlAgilityPack中使用xpath获取属性值

HtmlAgilityPack介绍HtmlAgilityPack是一个专门用来解析Html的库,它可以使用xml的方式来解析html。有人说了,html本身不就是xml?是的,html就是xml,但是html很宽松,没有关闭的节点也可以用,还有一些其他的内容比如js夹杂在里面。如果直接使用xml解析库的话9成会报错的。而HtmlAgili

BootStrapBlazor 安装教程--Server模式

使用模板使用模板是最简单的办法。因为项目模板里已经包含了BootStrapBlazor的所有需要配置的内容。首先我们安装项目模板:dotnet new -i Bootstrap.Blazor.Templates::6.4.1这里的6.4.1是版本号,截至到目前Templates的版本号为6.4.1。然后创建项目dotnet new bba

使用SharpCompress压缩,tar.gz

之前我们介绍了如何用SharpZipLib来打.tar.gz压缩包。但是这个压缩软件有两个问题,一是代码比较多,压缩起来没有那么方便;二是压缩的.tar.gz在linux上解压时会有警告,需要跳过这些警告。SharpCompress解决了这两个问题,使用SharpCompress压缩的.tar.gz包在linux上是没有警告的。而且它的代

SharpZipLib解压.tar.gz

上一篇文章我们说了如何用SharpZipLib来压缩.tar.gz,这篇文章我们来看看如何解压。直接上代码:using ICSharpCode.SharpZipLib.GZip; using ICSharpCode.SharpZipLib.Tar; public void ExtractTGZ(String gzArchiveName

SharpZipLib打.tar.gz压缩包

.tar.gz是linux上常见的压缩格式,linux默认支持这种压缩格式,所以我们经常见到在linux系统上的.tar.gz包。这里我们说一下怎么用SharpZipLib来打一个.tar.gz的压缩包。using System; using System.IO; using ICSharpCode.SharpZipLib.GZip; u