从零开始Blazor Server(1)--项目搭建】的更多相关文章

项目介绍 本次项目准备搭建一个使用Furion框架,Blazor的UI使用BootstrapBlazor.数据库ORM使用Freesql的后台管理系统. 目前的规划是实现简单的注册,登录.增加管理员跟普通用户两种权限,不会实现复杂的权限管理,但是也不准备用默认的那套,自己实现一个简单的架子把. 然后实现一下后台对用户的删除,禁用. 大概就这个逻辑,后面想写别的再说. 创建项目 创建项目我们不使用任何模板,直接建立官方模板的blazor项目来做,这样应该是最通用的. 首先我们建立一个Blazor…
我们用了14篇文章,基本上把一个后台管理系统需要的UI部分都说的差不多了.所以这套文章也该到了结束的时候了. 这里面有很多问题,比如我们直接使用UI来拉数据库信息而没有使用service,再比如我们大量的用了同步,即使使用Task.FormResult也不用异步处理,再比如整个项目里没有任何缓存,所有的操作都直接处理数据库,再再比如半残废的权限系统. 所以这套东西我不希望有人真的直接拿过来用,正如我们题目说的那样,是从零开始blazor,不是从零开始后台管理系统. 这套文章的着眼点在于UI部分.…
认证方式简述 Blazor Server微软官方还是推荐直接使用Cookie授权,因为本来Blazor Server就是前后端不分离的.不存在Cookie跨域等一系列问题. 只要不是使用SSO之类的统一登录方式,建议直接使用Cookie作为认证方式就行,简单方便. 添加Cookie认证 Blazor添加Cookie认证的方式跟MVC没什么区别,也是在Program.cs里添加对应的认证中间件. 添加Cookie认证方式 builder.Services.AddAuthentication(Coo…
前言: 这是 项目实践系列 , 算是中高级系列博文, 用于为项目开发过程中不好解决的问题提出解决方案的. 不属于入门级系列. 解释起来也比较跳跃, 只讲重点. 因为有网友的项目需求, 所以提前把这些解决方案做出来并分享. 问题: Blazor自己是携带一个简单的路由功能的, 当切换Url的时候, 整个通过把RouteData传递给 App.razor 加载 MainLayout , 实现页面刷新的目的. 如果跳转到另外一个页面, 然后再跳回来的时候, 希望原来页面不刷新, 保留之前的状态 , 例…
说明 上一篇文章中我们添加了Cookie授权,可以跳转到登录页了.但是并没有完成登录,今天我们来完成它. 我们添加Cookie授权的时候也说了,这套跟MVC一模一样,所以我们登录也是跟MVC一模一样.有个小区别是必须使用MVC去登录,Blazor本身是登录不了的. 添加Controller支持 在Program.cs中添加: builder.Services.AddControllers().AddInject(); 这里的.AddInject()是添加Furion的支持,我们后面要用到的动态C…
写这个的原因 现在BootstrapBlazor处于大更新时期,Menu组件要改为泛型模式. 本来我们的这一篇应该是把Layout改了,但是改Layout肯定要涉及到菜单,如果现在写了呢,就进入一个发布就过时的状态,就很尴尬,所以后面的就稍微拖一拖. 加上昨天有人说我用OnNavigateAsync违反单一性原则,要用策略,所以这里我们说下策略怎么做. 添加策略相关的代码 首先我们要有一个实现IAuthorizationRequirement接口的类,这个类没有什么特别的要求,我们就写一个空类来…
目前我们的MainLayout还是默认的,这里我们需要修改为BootstrapBlazor的Layout,并且处理一下菜单. 修改MainLayout BootstrapBlazor已经自带了一个Layout组件,这个组件里常用功能已经很全了,所以我们直接使用这个组件即可. <Layout SideWidth="0" IsPage="true" IsFullSide="true" IsFixedHeader="true"…
例图 目前的样式是这样的: 其中角色在一个table里,然后可以增删改查,并且可以给指定的用户分配权限. 创建文件 首先我们在Pages/Admin目录下新建一个Role.razor.因为我们的Admin目录已经使用了_Import来给整个文件夹添加了授权特性,所以我们就无需再次添加了. 添加table 这里添加一个table来显示所有的角色. <Table TItem="RoleEntity" IsBordered="true" ShowAddButton=…
上个星期有点事,导致没法及时更新.现在我们继续更我们的从零开始系列. 这个系列也快要结束了,目前规划再有2-3篇,就结束了. 今天我们来说编辑菜单的问题,说实话菜单这种东西,你不更新代码加个页面,单独加个菜单没啥意义.除非你要跳转到其他的网站去. 但是呢,你没有这玩意感觉又不太完整,就加上吧. 菜单管理里,我们主要来说一下table的树形的处理. 先上代码: <Table TItem="MenuEntity" IsBordered="true" ShowAdd…
开篇 上一篇文章我们留了个尾巴,没有把freesql整合进去,这篇文章我们来整合. 目前的思路呢,是做一个简单的四不像的RABC,也有用户.角色. 权限三部分. 但是其中每个用户只有一个角色,即用户和角色之间是一多关系.每个角色可以有多个权限,即权限跟角色之间是多多关系. 这样主要是想说一下freesql怎么做一多和多多关系.一个正常的RABC用户和角色之间也应该是多多,并且用户可能跟权限也可以有直接的联系.但是这个是一样的,只要权限列表拿到了,后面就随便怎么处理了. 建表 这次我们只建立四个表…