开篇说明:

此篇博客是属于半教程博客,为什么说是半教程呢。因为我不会打算说什么理论性的东西,没必要。要看理论性的资料以及基础信息,请前往tkb至简和@阳光铭睿的博客查看文档资料。

  2017年1月15日号的时候录制了关于这个项目的视频。

大家可以看看:传送门

开发环境:

vs2015 update3

sqlserver 2012

使用ABP版本说明:

本次教程更新时间为:2016-12-27 12:35:

abp版本说明:

使用的是abp v1.13和abpzero v1.13

作为开发版本,也就是截止为更新时间的最新版本。

目前在1.13版本ABP需要安装最新的typescript 2.1

链接:http://www.microsoft.com/zh-CN/download/details.aspx?id=48593

大家自行下载安装

扫个小盲:

MPA:为多页面,通过服务器端进行渲染razor进行绑定数据的方式(等其他情况。

SPA:则为单页面,可以用作前后端分离如:vue,angular这些前端技术,而后端只需要提供webapi就可以了(当然还有其他方式。

1、首先创建一个模板解决方案“PhoneBook”

打开ABP的官方网站:http://www.aspnetboilerplate.com/Templates

创建“YoYoCMS.PhoneBook”然后点击“Create my project!”按钮如下图

输入验证码,开始下载。

图片说明:

我们按照上图说的操作。所以平时大家在群里提那么奇奇怪怪的问题的时候,先看看自己是否有按照这样在操作。

2、运行该项目示例

个人习惯,我会先修改他的连接字符串。默认为windows用户登录,我改为数据库sa用户登录

<add name="Default" connectionString="Data Source=.; Database=AbpZeroTemplateV0; User ID=sa; Password=123;" providerName="System.Data.SqlClient" />

 

他们的区别在于创建数据库关系视图的时候就会发现权限的问题

这里请看图,选择yoyocms.phonebook.entityframework层

然后就发现报错了。。。

在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL Network Interfaces, error: 26 - 定位指定的服务器/实例时出错)

解决方法:

选中””为启动项目,然后再重新生成解决方案。然后再次执行“update-database”。

运行项目成功

登录的时候发现有个租户名称需要填写。我们之前下载的时候,土牛的下载信息中已经说明了。默认开启的多租户模式。

3、多租户功能演示

当前页面为默认的多租户登录页面,也就是说不同的租户登录,看到的数据其实是不一样的。如果租户名称默认不填写的话,那么登录的就是Host用户。

Host用户可以对租户信息进行添加删除修改和查询。而租户就没有添加其他租户的权利信息。

3-1、登录Host用户,账号:admin密码:123qwe

此处可以对默认租户“default”进行其他操作,当然现在的模板页面只有添加租户信息

上图中,字段给的比较少,大家可以对字段进行添加。

建议如果使用多租户功能的话:租户名称必须由2个以上字母、数字、-、_组成,以字母开头

3-2、使用租户“ddxc”登录

如上,登录后会发现[Tenants]已经没有了。因为租户是不具备添加租户的权限。

然后我们创建一个用户“yingmu”密码:“123qwe”

提示邮箱已经被占用,换一个

3-3 使用“Default“租户登录

相同的过程就不演示了。这里可以看到用户列表里面没有樱木花道的信息。

这个就是启用了多租户的效果。

不同租户之间的数据信息是分隔开了的。

如果不明白他是怎么回事的同学看看下图:

这个游戏大家应该都知道。

一个游戏N个区。

这里不同的大区就是使用了多租户的功能。

使用多租户的场景有哪些:企业模板网站、钉钉、今目标、任务管理系统等等都可以算作是多租户的使用场景。

第一次这么正式的写博客,如果大家有什么问题和建议可以到群里找我,我们相互沟通和交流。

群号:104390185(提供某科学上网)

-返回目录-  ABP打造一个《电话簿项目》

ABP教程-通过ABPboilerplate模版创建项目的更多相关文章

  1. ABP教程-打造一个《电话簿项目》-目录-MPA版本-基于ABP1.13版本

    此系列文章会进行不定期的更新,应该会有6章左右. 感兴趣的朋友可以跟着看看,本教程适合已经看过ABP的文档但是又无从下手的小伙伴们. 初衷: 发布系列教程的原因是发现ABP在园子火了很久,但是发现还是 ...

  2. [ABP教程]第三章 创建、更新和删除图书

    Web应用程序开发教程 - 第三章: 创建,更新和删除图书 关于本教程 在本系列教程中, 你将构建一个名为 Acme.BookStore 的用于管理书籍及其作者列表的基于ABP的应用程序. 它是使用以 ...

  3. WebStorm中Node.js项目配置教程(1)——创建项目

    Node.js绝对是一个web开发的热点话题,作为web神器的WebStorm也是开发Node.js的佼佼者. 接下来就Node.js项目在WebStorm的配置操作就行详细的讲解,首先是创建项目.两 ...

  4. Scrapy教程——搭建环境、创建项目、爬取内容、保存文件

    1.创建项目 在开始爬取之前,您必须创建一个新的Scrapy项目.进入您打算存储代码的目录中,运行新建命令. 例如,我需要在D:\00Coding\Python\scrapy目录下存放该项目,打开命令 ...

  5. Symfony 框架实战教程——第一天:创建项目(转)

    这个系列的实战博客真是太有用了,很多例子自己调试也是通的,不同于很多网上不同的实战例子...附上原文地址  https://www.chrisyue.com/symfony-in-action-day ...

  6. 创建ABPboilerplate模版项目

    本文是根据角落的白板报的<通过ABPboilerplate模版创建项目>一文的学习总结,感谢原文作者角落的白板报. 1 准备 开发环境: Visual Studio 2015 update ...

  7. cocos2d-x使用python脚本创建项目的简单方法

    本文有CC原创,转载请注明地址:http://blog.csdn.net/oktears/article/details/13297003 在cocos2d-x2.1.4以上的版本中,取消了使用vs模 ...

  8. SharePoint 2013 代码实现自定义的站点模版创建Site Collection

    先需要将自定义的站点模版从网站集转移到Farm中. 找一个自己已经完成配置及设计的网站,在网站设置里面选择另存为模版.要注意的是不是所有的站点类型都有另存为模版的功能. 存完之后可在解决方案库的界面里 ...

  9. [ABP教程]第一章 创建服务端

    Web应用程序开发教程 - 第一章: 创建服务端 关于本教程 在本系列教程中, 你将构建一个名为 Acme.BookStore 的用于管理书籍及其作者列表的基于ABP的应用程序. 它是使用以下技术开发 ...

随机推荐

  1. 【.net 深呼吸】细说CodeDom(7):索引器

    在开始正题之前,先补充一点前面的内容. 在方法中,如果要引用方法参数,前面的示例中,老周使用的是 CodeVariableReferenceExpression 类,它用于引用变量,也适用于引用方法参 ...

  2. Kooboo CMS技术文档之五:站点配置管理

    站点关系 管理站点间的关系,站点可以有子站点,子站点继承父站点的部分配置数据,同时子站点还可以根据需要,本地化由父站点继承而来的数据.通过继承和本地化,可以让子站点在用最小的改动代价,来完成一个与父站 ...

  3. 多线程的通信和同步(Java并发编程的艺术--笔记)

    1. 线程间的通信机制 线程之间通信机制有两种: 共享内存.消息传递.   2. Java并发 Java的并发采用的是共享内存模型,Java线程之间的通信总是隐式执行,通信的过程对于程序员来说是完全透 ...

  4. Yeoman 官网教学案例:使用 Yeoman 构建 WebApp

    STEP 1:设置开发环境 与yeoman的所有交互都是通过命令行.Mac系统使用terminal.app,Linux系统使用shell,windows系统可以使用cmder/PowerShell/c ...

  5. OpenCV模板匹配算法详解

    1 理论介绍 模板匹配是在一幅图像中寻找一个特定目标的方法之一,这种方法的原理非常简单,遍历图像中的每一个可能的位置,比较各处与模板是否“相似”,当相似度足够高时,就认为找到了我们的目标.OpenCV ...

  6. Java多态性——分派

    一.基本概念 Java是一门面向对象的程序设计语言,因为Java具备面向对象的三个基本特征:封装.继承和多态.这三个特征并不是各自独立的,从一定角度上看,封装和继承几乎都是为多态而准备的.多态性主要体 ...

  7. ASP.Net MVC——使用 ITextSharp 完美解决HTML转PDF(中文也可以)

    前言: 最近在做老师交代的一个在线写实验报告的小项目中,有这么个需求:把学生提交的实验报告(HTML形式)直接转成PDF,方便下载和打印. 以前都是直接用rdlc报表实现的,可这次牵扯到图片,并且更为 ...

  8. RMS Server打开或关闭日志记录

    原文: https://technet.microsoft.com/zh-cn/library/cc732758 在 Active Directory Rights Management Servic ...

  9. 烂泥:数据库管理之phpmyadmin免密码配置

    本文由ilanniweb提供友情赞助,首发于烂泥行天下 想要获得更多的文章,可以关注我的微信ilanniweb 其实这篇文章很早就想写了,但是一直没有时间.刚好今天下午稍微空了点,就把这篇文章整理出来 ...

  10. org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):

    org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): da.huying.usermanag ...