因为目前ABP的官方模板只支持MVC和Angular,MVC的话咱.NET开发人员来写还可以,专业前端估计很少会用这个。。。Angular我本人不熟,所以选择vue来做UI。...在开始编码前,需要先分析几个重要问题: 用户登录/token 用户权限控制 应用程序本地化/语言切换 好在ABP模板提供了Angular版本,我们可以参考Angular版本来做。...后面请求接口时,把token放到HTTP Header的authorization字段即可。 权限 进入ABP的/swagger界面: ?...本地化 本地化对于大部分的小型系统可能都用不上,不过ABP作为一个优秀且全面的框架,必然会支持本地化功能。...AbpIdentityServer这个key是来自ABP的IdentityServer模块中的一个常量,具体请参考源码。
前言 上一篇介绍了vue+ABP国际化的基本实现,本篇开始功能模块的开发,首先完成ABP模板自带的身份认证管理模块和租户管理模块。同样的,参考ABP的Angular版本来做。...就拿这里的身份认证管理模块来说,看似很简单,因为后端接口都是ABP模板里现成的,前端部分无非就是写界面,调接口,绑数据;但是看一下ABP Angular版本的代码,就会发现他其实是有很多细节方面的处理的...它来自ABP的FeatureManagement模块,也称为”特征管理“,这个后面再做介绍。 租户切换 完成了租户管理,那么登录时也应该可以切换租户。 ?...切换租户比较简单,就是根据输入的租户名称获取到租户ID,然后调用/abp/application-configuration接口,把租户ID放到请求Header的__tenant字段中即可,之后的请求中也需要这个参数...其实ABP后端是可以配置是否启用多租户的,这里也可以根据后端配置来显示或者隐藏租户切换的按钮。跟ABP模板相比,登录界面还缺少一个注册入口,后面再加上吧。 效果 ? ? ? ? ?
前面我们把后端的微服务架子基本搭建完成并成功启动了,现在我们可以对接前端界面了。 这里我们直接用ABP模板里面的Angular的前端界面。...其他参数随意,因为我们只需要Angular的前端。...abp new FunShow -u angular --separate-identity-server 创建完后目录会有两个文件夹 把Angualr目录赋值到我们微服务项目的APP目录下...修改Angular配置 打开Angular的src/environments目录下的environment.ts文件。 修改oAuth配置和API配置,改成我们微服务框架的认证服务器地址和网关地址。...启动angular项目,执行angular目录下的start.ps1文件。 可以看到访问认证服务和API的接口都正常访问。 点击登录会跳转到认证服务进行登录。
正文 我在之前的文章“Angular UI框架 Ng-alain @delon的脚手架的生成开发模板”中提过,我会把.net core 、Angular作为主要核心方向,然后整合 ABP + Ng Zorro...这个事情依然遥遥无期的没有提上议程。不过好歹启动了第一步嘛 ” 演示下项目功能 首先是登录 ?...登录页面.gif 登录功上还有附带切换个租户功能,毕竟ABP框架是SaaS框架嘛,我们也顺带把他实现了。 ? 切换租户.gif ?...梦想还是要有的 其实这三年来吧,一直坚持ABP框架的推广和技术的研究,其实是有一个愿望吧,我们在说JAVA的时候能提到有Spring Cloud Spring Boot 等知名度比较高的框架,而在.NET...所以我想有更多的人参与进来使ABP框架成为.NET 圈子中的一个上手容易、符合中小型企业级快速开发的框架,以后提到.NET框架的时候有这么一款企业级的框架ABP。
介绍 在阅读本文档之前,建议您先运行一次 52ABP 项目程序,打开过 Angular 版本的界面,如果你还没有运行过项目可以参考快速入门文档。 或者你已经对 ABP 有过一些了解。...要了解更多的信息,请参考Web.Host 项目介绍 Web.Portal是一个独立的 web 应用程序,可用于为您的应用程序创建公共页面或登录页面,如 52ABP.Com 的门户。...Angular 解决方案 52ABP-PRO 采用的是NG-Alian-Pro作为 Angular 的前端模板,购买 52ABP-PRO会自动获得此授权无须再单独购买NG-Alian-Pro。...RootModule 负责引导应用程序的加载。 AccountModule 提供登录,注册,第三方登录,密码忘记/重置,电子邮件激活等...它是懒加载。...例如,当您请求以"app/admin"开头的 URL 时,会加载 AdminModule 及其所有组件。如果您不请求这些页面,则不会加载它们。
开始一个新使用Angular和 ASP.NET Core 的ABP项目最简单的方法就是通过官方的模板页面来生成模板。切记包含zero模块。...当你打开项目,你可以看见登录页面。 就翻译到这里把,因为npm编译出现错误,一时半会也解决不了。 ?...这里写图片描述 早就听说java编程对版本的要求很严格,node这套开发显然和java开发很类似,对于我们新手总数莫名奇妙因为引用版本不同而导致错误。...这里,我们用Postman(Chrome的扩展)来演示请求和响应。...你可以把abp.tenantid头的值指定一个特殊租户。默认情况下,默认的租户是一个整型值1。
从2022年来回顾ABP框架,我们会发现无论是商业模式还是架构设计思路,如果没有良好的商业模式的话,ABP框架很容易进入难产的状态,比如之前很多的框架,因为没有商业支持,导致已经没有维护了。...所以我们在选择框架的时候,既然重视它的架构设计,技术选型也要选择能够有实力做到可以持续更新的框架。 面临变革的ABP框架 2017年的ABP,对于ABP框架的作者来说无疑是一个充满了挑战的一年。...前端方案的选择与变化:vue还是angular 2017年前端开发框架也开始了从angularjs1.x升级到angular2的变化。国内开发者喜欢vue1.x升级vue2的解决方案。...更多详情请参考:回忆与前端大神司徒正美(钟钦成)的二三事与大龄程序员猝死问题 不过关于司徒正美,其实也是一个简单的故事,一位来自农村的少年,不在乎命运对他的捉弄,勇敢经历短暂的人生,在二次元继续寻找着技术的真谛...ABP框架在前端的默认支持方案-Angular4 Angular因为依托于TypeScript的强类型语言特性,ABP自然会选择生态和设计偏重于后端的解决方案:Angular。
从2015年5月开始在国内的开源社区中进行推广ASP.NETBoilerplate Project开源框架,创建了”角落的白板报”博客, 发表一些基础性文章来帮助大家提高开发技巧!...制作了代码生成器(ABP Code Generator),辅助与ABP框架以提高开发人员的效率。...00:05:04 5、跨站请求伪造简析及来自Fiddler的攻击00:13:15 6、csrf学习的推荐资料00:01:05 7、修改和删除功能00:14:39 8、完善关于学生表的修改和删除00:04...诚如我在视频后面说的,下一步的视频课程我会讲Angular的入门实战。 但是为了民主点,我决定开设一个投票。...三个选项: Angular入门视频 Dapper入门视频 Docker入门视频 你们选一个吧,然后直接留言也可以。
,需要用到angular的http模块。...从angular2到现在的angular5http模块也有些变化。...我是这样设计的,把api请求封装成一个基类,然后在此基础上封装一个针对后台apb框架的基类,最后才是我们应用所需要的api请求数据组件。 ?.../Observable'; /** * 进一步封装HttpClient,主要解决: * 后台apb框架返回数据的解析 */ export abstract class AbpApiService...加入动画效果 有动画使用相关疑惑的可以参考我的这篇文章及其相关文章:Angular练习之animations动画 源码下载 思考 angular模块,组件,普通的ts文件之间的关系和区别。
在整理这个框架的过程中,参考了一些开源框架的设计和实现,无意中发现了ABP(ASP.NET Boilerplate)已经实现的正是我想要的,本着不重复造轮子的原则,在对ABP做了POC和评估后,在向整个评审小组展示时...什么是ABP ABP(ASP.NET Boilerplate)是一个开源的应用程序框架,以帮助开发人员快速开发。但它又不仅仅是一个框架,更提供了一套基于DDD的架构模型和最佳实践。...在示例中,如果一个用户没有登录,或者没有“UpdateTasks”的权限,那么他将不能访问UpdateTask方法。...ABP不单单使用声明式的特性来检查权限,它还提供了其他的授权方式 请求验证- ABP自动的检查请求输入(input)是否为null, 并且可以基于标准的数据注解和自定义验证规则来检查输入中的属性是否合法...如果有异常发生,ABP会自动的记录它,并返回合适的结果给客户端。例如,如果这是一个AJAX请求,它会返回一个JSON对象给客户端,并指明有一个错误发生。
在整理这个框架的过程中,参考了一些开源框架的设计和实现,无意中发现了ABP(ASP.NET Boilerplate)已经实现的正是我想要的,本着不重复造轮子的原则,在对ABP做了POC和评估后,在向整个评审小组展示时...什么是ABP ABP(ASP.NET Boilerplate)是一个开源的应用程序框架,以帮助开发人员快速开发。但它又不仅仅是一个框架,更提供了一套基于DDD的架构模型和最佳实践。...授权- ABP可以使用声明式的方式来检查权限。在示例中,如果一个用户没有登录,或者没有“UpdateTasks”的权限,那么他将不能访问UpdateTask方法。...ABP不单单使用声明式的特性来检查权限,它还提供了其他的授权方式 请求验证- ABP自动的检查请求输入(input)是否为null, 并且可以基于标准的数据注解和自定义验证规则来检查输入中的属性是否合法...如果有异常发生,ABP会自动的记录它,并返回合适的结果给客户端。例如,如果这是一个AJAX请求,它会返回一个JSON对象给客户端,并指明有一个错误发生。
ABP模板的种子数据: ?...ABP的Angular版本就是这么做的,不过他是使用angular-oauth2-oidc这个库完成,我暂时没有找到其他的支持password flow的开源库,参考:https://github.com...前面分析过,通过/api/abp/application-configuration接口的auth.grantedPolicies字段,与对应的菜单路由绑定,就可以实现权限控制了。 ?...最后 本篇实现了前端部分的登录和菜单权限控制,但是还有很多细节问题需要处理。...比如右上角的用户头像,ABP的默认用户表中是没有头像和用户介绍字段的,下篇将完善这些问题,还有删除掉vue-element-admin多余的菜单。
4xx 客户机中出现的错误 400 错误请求 — 请求中有语法问题,或不能满足请求。 401 未授权 — 未授权客户机访问数据。 402 需要付款 — 表示计费系统已有效。...5xx 服务器中出现的错误 500 内部错误 — 因为意外情况,服务器不能完成请求。 501 未执行 — 服务器不支持请求的工具。 502 错误网关 — 服务器接收到来自上游服务器的无效响应。...————————————————————————————— HTTP 400 – 请求无效 HTTP 401.1 – 未授权:登录失败 HTTP 401.2 – 未授权:服务器配置问题导致登录失败 HTTP...– URI 太长 HTTP 500 – 内部服务器错误 HTTP 500.100 – 内部服务器错误 – ASP 错误 HTTP 500-11 服务器关闭 HTTP 500-12 应用程序重新启动 HTTP...500-13 – 服务器太忙 HTTP 500-14 – 应用程序无效 HTTP 500-15 – 不允许请求 global.asa Error 501 – 未实现 HTTP 502 – 网关错误
ICurrentUser 封装了身份信息,用于获取有关当前活动的用户信息,已经被Abp框架默认注入。...如果用户尚未登录,则 Id 和 UserName 将返回 null. Id (Guid?): 当前用户的Id,如果用户未登录,返回 null....Email (string): 当前用户的电子邮件地址. 如果当前用户尚未登录或未设置电子邮件地址,返回 null. Roles (string[]): 当前用户的角色....针对Abp用户、租户管理的应对方法 我的策略:还是向尽量使用Abp框架,尽量做到【对修改封闭,对扩展开放】, ① 于是我仿照Abp的CurrentUser实现了适合自身项目的CurrentUser: public...new关键字显式隐藏从基类继承的成员 这样我们既可以使用 Abp框架其他能力,利用new关键词我们也刻意隐藏了框架原有的ICurrentUser属性, 其他同事也不需要额外的认知成本就可以开心地像往常一样使用
前面我们已经把服务都启动了,然后我们试试请求API。...发现请求出现500 返回错误 System.NotSupportedException: Serialization and deserialization of 'System.Reflection.MethodBase...类继承JsonConverter泛型接口,并重写他的方法。...,我们发现接口HTTP状态码变成了401,没有再次出现序列化不支持的异常了。...我们通过swagger的Authorize获取token之后随便输入再次发出请求,请求再次500,但是500返回内容正常,没有再次出现序列化不支持的异常。
Http动词 默认,所有的方法以POST的形式创建。所以,为了使用创建的web api actions,客户端应该发送post请求。...服务方法内部使用abp.ajax。如果需要,他们处理错误并显示错误信息。 AJAX参数 你可能会想传递自定义ajax参数给代理方法。...ABP使用AngularJs的http服务。...如果你想传递 为了使用自动生成的服务,你应该在page中包含需要的scripts: 启用/禁用 如果你使用如上定义的ForAll方法,你可以为服务或方法使用RemoteService特性来禁用它。在服务接口中使用,而不是在服务类中。
技术交流,请加QQ群:538327407 我的各种github 开源项目和代码:https://github.com/linbin524 背景 笔者 目前架构的IOT 项目是使用abp 框架作为后台,虽然...abp的框架适用于中小型项目框架,但由于架构优美,笔者认为还是可以经过改造,作为大型项目中使用。...3、数据库底层 使用Percona XtraDB Cluster,是因为它支持集群,可以缓解数据库请求压力,又支持abp的事务; 但从真正大系统考虑,其实最理性的模式应该是分片...为了暂时不做大改造,只能先使用 Percona XtraDB Cluster,后续可能使用Orleans(Azure 云框架)、akka.net(大型的框架) 或者 Service Fabric(微服务框架...,看看日志,百度一下看看是什么错误,怎么解决,因为各种错误都有,就不好一一解释了。
今天这篇文章我将通过实例代码带着大家一步一步通过abp vNext这个asp.net core的快速开发框架来进行Quartz.net定时任务调度的管理界面的开发。...ABP 官方的介绍是:ASP.NET Boilerplate 是一个用最佳实践和流行技术开发现代 WEB 应用程序的新起点,它旨在成为一个通用的 WEB 应用程序基础框架和项目模板。...而ABPVNext的出现是为了抛弃掉.net framework 版本下的包袱,重新启动的 abp 框架,目的是为了放弃对传统技术的支持,让 asp.net core 能够自身做到更加的模块化,目前这块的内容还不够成熟...ABP vNext代码 既然我们此次演练的项目是使用的abp vNext这个asp.net core的快速开发框架来完成的,所以首先在项目开始之前,你需要到ABP vNext的官网上去下载项目代码。...JobInfo的增删改查功能的实现 这个部分你将体会到我为什么使用abp vNext框架来进行开发了,就是因为快~~~~ 创建领域实体对象JobInfo,这个在领域层代码如下: ?
一.ABP的简单介绍 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称。...ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WEB应用程序框架和项目模板。...二.ASP.NET ZERO和ABP的关系 ASP.NET ZERO 是 利用ABP框架搭建的模板项目,它会提供预建的页面及强大的基础设施架构。利用它提供的基础框架代码能让你快速的开发你的应用层。...如果报错请到事件查看器查看错误,或者查看 App_Data/Logs/Logs.txt 这里贴一个我遇到的错误:无法连接数据库,我自己测试的时候发现连接数据库异常了,使用的身份是iis的用户身份,肯定无法用...Windows身份认证(asp.net zero默认)登录数据库,所以直接改为账号密码登录,就成功了。
领取专属 10元无门槛券
手把手带您无忧上云