ABP项目搭建实例教程[1]--ABP框架搭建

时间:2021-01-15 22:26:48

开篇说明:

此系列博客将会引用wer-ltm的文章内诸多内容,以节(偷)省(个)时(小)间(懒)。

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

扫个小盲:

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

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

1、首先创建一个模板解决方案“你的项目名称(解决方案名称)”

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

创建“你的项目名称(解决方案名称)”然后点击“Create my project!”按钮如下图

ABP项目搭建实例教程[1]--ABP框架搭建

输入验证码,开始下载。

图片说明:

ABP项目搭建实例教程[1]--ABP框架搭建

我们按照上图说的操作。

2、运行该项目示例

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

<add name="Default" connectionString="Data Source=.; Initial Catalog=这里填你的数据库名称(有现成的,就填现成的,没有的话,后面迁移会自动创建一个,以这个名称命名的数据库); User ID=sa; Password=你的数据库sa用户的密码;" providerName="System.Data.SqlClient" />

  

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

ABP项目搭建实例教程[1]--ABP框架搭建

然后就发现报错了。。。

ABP项目搭建实例教程[1]--ABP框架搭建

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

解决方法:

选中”ABP项目搭建实例教程[1]--ABP框架搭建”为启动项目,然后再重新生成解决方案。然后再次执行“update-database”。

运行项目成功

ABP项目搭建实例教程[1]--ABP框架搭建

 

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

实际登陆时,租户名称可以不填写。

3、多租户功能演示

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

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

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

ABP项目搭建实例教程[1]--ABP框架搭建

ABP项目搭建实例教程[1]--ABP框架搭建

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

ABP项目搭建实例教程[1]--ABP框架搭建

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

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

ABP项目搭建实例教程[1]--ABP框架搭建

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

ABP项目搭建实例教程[1]--ABP框架搭建ABP项目搭建实例教程[1]--ABP框架搭建

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

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

ABP项目搭建实例教程[1]--ABP框架搭建

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

ABP项目搭建实例教程[1]--ABP框架搭建

ABP项目搭建实例教程[1]--ABP框架搭建

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

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

ABP项目搭建实例教程[1]--ABP框架搭建

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

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

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

ABP项目搭建实例教程[1]--ABP框架搭建

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

一个游戏N个区。

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

 

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

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

群号:104390185