返回《Module Zero学习目录》


概览介绍##

使用ABP和Module-Zero开始一个新的项目最简单的方式通过ABP官网的模板页面创建一个解决方案的模板。进入页面之后,选择选项卡"ABP + module zero",然后创建你的项目。当前,该模板只支持EntityFramework作为ORM(还不支持NHiberbate)。

创建并下载你的项目之后,使用Visual Studio打开你的解决方案。

选择Web项目作为起始项目。

打开包管理控制台,选择“EntityFramework”项目作为默认项目,然后运行EF的'Update-Database'命令。该命令会创建数据库。

运行该应用,默认的用户名是'admin',密码是'123qwe'。

在该模板中,默认是开启多租户的。如果你不需要的话可以在Core项目的module文件中关闭它。

社交登录##

启动模板支持Facebook, Twitter和Google+登录,在Web.config中,你可以看到下面的设置:

 <appSettings>
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" /> <add key="ExternalAuth.Facebook.IsEnabled" value="false" />
<add key="ExternalAuth.Facebook.AppId" value="" />
<add key="ExternalAuth.Facebook.AppSecret" value="" /> <add key="ExternalAuth.Twitter.IsEnabled" value="false" />
<add key="ExternalAuth.Twitter.ConsumerKey" value="" />
<add key="ExternalAuth.Twitter.ConsumerSecret" value="" /> <add key="ExternalAuth.Google.IsEnabled" value="false" />
<add key="ExternalAuth.Google.ClientId" value="" />
<add key="ExternalAuth.Google.ClientSecret" value="" /> </appSettings>

这里,你可以设置你需要的社交登录。当然,你必须要有从相关的社交网站获得的keys和密码。你可以从网页上学习如何获得这个keys。一旦你开启了社交登录,你会在登录页面看到一个按钮。类似地,你也可以实现其他的登录。

基于Token的认证##

启动模板使用了基于cookie的浏览器认证。如果你想在一个移动端应用上使用Web APIs或者应用服务(通过动态web api暴露),你很可能想使用基于token的认证机制。启动模板包括了不记名token认证基础。.WebApi项目中的AccountController包含了获取token的认证action,以后我们就可以对后面的请求使用这个token了。

这里,我会使用Postman(chrome插件)演示请求和响应。

认证(Authentication)

localhost:6334/api/Account/Authenticate 发送一个post请求,头部的Context-Type="application/json",如下所示:



我们发送了一个包含userNameOrEmailAddress和password的Json请求体,还有,对于租户用户来说,也应该发送tenancyName。正如上面看到的,返回Josn的result属性包含了token。我们可以保存该token,用于后面的请求。

使用API

认证并获得token之后,我们可以使用它来调用任何授权的的action。所有的应用服务都是可以远程使用的。比如,我们可以使用Tenant服务获取租户的列表:



localhost:6334/api/services/app/tenant/GetTenants 发送Post请求,请求头部包含Content-Type="application/json"Authorization="Bearer your-auth-token" 。请求体是一个空的{}。当然,请求和响应体对于不同的APIs是不同的。

几乎所有UI上的可使用的操作,同样也可以作为Web API使用(因为UI使用了相同的Web API),并且很容易使用。

单元测试##

启动模板包含了测试基础设施的安装,并且在.Test项目下面有一些测试。你可以检查它们并能很容易地写一些类似的测试。实际上,它们是集成测试而不是单元测试,因为它们使用所有的ABP框架的基础设施(包括验证,授权和工作单元...)来测试你的代码。

Module-Zero之启动模板的更多相关文章

  1. 番外篇--Moddule Zero启动模板

    1.3 ABPZero - 启动模板 1.3.1 简介 使用ABP和moudle-zero开始一个新项目的最简单的方式是在模板页创建模板.记住要勾选 Include module zero. 在创建并 ...

  2. 初识ABP vNext(2):ABP启动模板

    目录 前言 开始 AbpHelper 模块安装 最后 前言 上一篇介绍了ABP的一些基础知识,本篇继续介绍ABP的启动模板.使用ABP CLI命令就可以得到这个启动模板,其中包含了一些基础功能模块,你 ...

  3. Vue3 + Cesium + Typescript 集成搭建的快速启动模板(包含示例数据)

    开门见山 项目地址:https://github.com/tanghaojie/vue3-cesium-typescript-start-up-template 好用的话给个star呗,有更新可以第一 ...

  4. Thymeleaf学习记录(1)--启动模板及建立Demo

    Thymeleaf是什么? Thymeleaf是适用于Web和独立环境的现代服务器端Java模板引擎.相比于JSP,Thymeleaf更简洁,渲染性能更好,维护性更好,它可以XML/XHTML/HTM ...

  5. ABP (.Net Core 3.1版本) 使用MySQL数据库迁移启动模板项目(1)

    最近要搭建新项目,因为还没有用过.net core,所以想用.net core的环境搭建新项目,因为不熟悉.net core的架构,所以就下载了abp项目先了解一下. 因为自己太菜了,下载了模板项目, ...

  6. Word 启动模板文件

    运行窗口输入:%appdata%\microsoft\templates

  7. JavaScript学习总结(一)——延迟对象、跨域、模板引擎、弹出层、AJAX示例

    一.AJAX示例 AJAX全称为“Asynchronous JavaScript And XML”(异步JavaScript和XML) 是指一种创建交互式网页应用的开发技术.改善用户体验,实现无刷新效 ...

  8. Module Zero之语言管理

    返回<Module Zero学习目录> 概览介绍 如何开启 管理语言 管理本地化文本 概览介绍 ABP定义了一个健壮的UI本地化系统,它可用于服务端和客户端.它允许在不同的资源中(Reso ...

  9. Module Zero安装

    返回<Module Zero学习目录> 使用模板创建(自动方式) 手动安装 核心(领域)层 基础设施层 展示层 这里需要抱歉的是,这里使用的博客园的Markdown语法,代码显示不是很好看 ...

随机推荐

  1. spring 定时任务配置

    1.(易)如何在spring中配置定时任务? spring的定时任务配置分为三个步骤: 1.定义任务 2.任务执行策略配置 3.启动任务 (程序中一般我们都是到过写的,直观些) 1.定义任务 < ...

  2. iOS应用九宫格算法

      1.框框横向间隔为:( "界面的总宽度"-"界面每行的控件的宽度" * "每行要现实的列数(这里是3)") / ("列数 + ...

  3. 2016 Multi-University Training Contest 2 D. Differencia

    Differencia Time Limit: 10000/10000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tot ...

  4. ASP.NET下回车键的触发效果

    在ASP.NET下,在客户端触发回车键,默认调用了页面中第一个button,这有时是非常头痛的,比如页面的第一个按键是注销键时,想想也够可怕了. .net提供设置默认回车键的属性,this.Form. ...

  5. Attention:本博客暂停更新

    Attention:本博客暂停更新 2016年11月17日08:33:09 博主遗产 http://www.cnblogs.com/radiumlrb/p/6033107.html Dans cett ...

  6. android studio 报错-----R全部显示红色 ---- .9图片报错

    导入android项目后,R全部变红,控制台有下面的提示 意思是缺少一些资源,比如说图片之类的,然后我发现确实少了一张图片资源,导入图片资源后,依旧报错,如下  Error:Execution fai ...

  7. uva12063数位dp

    辣鸡军训毁我青春!!! 因为在军训,导致很长时间都只能看书yy题目,而不能溜到机房鏼题 于是在猫大的帮助下我发现这道习题是数位dp 然后想起之前讲dp的时候一直在补作业所以没怎么写,然后就试了试 果然 ...

  8. 【读书笔记】《编程珠玑》第一章之位向量&位图

    此书的叙述模式是借由一个具体问题来引出的一系列算法,数据结构等等方面的技巧性策略.共分三篇,基础,性能,应用.每篇涵盖数章,章内案例都非常切实棘手,解说也生动有趣. 自个呢也是头一次接触编程技巧类的书 ...

  9. bootstrap之HTML模板

    bootstrap之HTML模板 <!DOCTYPE html> <html> <head> <title>Bootstrap 模板</title ...

  10. tomcat在linux下自启动

    Linux下设置tomcat开机自启动  一.以root用户登录系统: 二.进入init.d文件夹 cd /etc/init.d/ 三.创建并打开tomcat文件 vi tomcat 四.tomcat ...