ASP.NET Zero--前端应用程序
前端应用程序
ASP.NET Zero包含可以作为您的公共网站或应用程序着陆页的起点的前端页面。首次运行项目时,您会看到主页如下所示:

这里有两页:主页和关于。这些页面的内容只是占位符和演示目的。您可以根据需要完全删除内容并构建页面。此外,你应该改变的标志与贵公司的标志。
请参阅 metronic前端主题,为所有可能性和组件构建一个更丰富的网站。
菜单在 FrontEndNavigationProvider 类中定义。当您在此添加新菜单项时,将自动显示在菜单中。 右上角有一个登录链接。此链接将使我们进入登录页面 以进入后端应用程序。
布局
前端页面的布局位于.Web项目的“ 视图/布局”文件夹下 :

_Layout是包含脚本和样式的主要布局文件。语言标志和菜单在 位于共享/组件下的标题组件中呈现。_PreFooter不使用,但如果需要,您可以将其添加到_Layout。
租户注册
当您点击前端应用程序中的“新租户”链接时,您可以注册成为新的租户:

在这里,您可以创建一个新的租户。TenantRegistration控制器是用来注册一个新的租户。可以启用/禁用租户注册,并可以在后端应用程序的设置页面中更改某些设置。
Account控制器
AccountController提供登录,注册, 忘记密码和电子邮件激活页面。
布局
帐户管理页面在Views / Account文件夹下有一个分隔的_Layout视图 :

位于view-resources / Views / Account文件夹下的 相关脚本和样式资源 :

类似地,应用程序的所有视图都具有wwwroot / view-resources文件夹下的对应样式和脚本文件。
登录
AccountController的主视图是“登录”页面:

登录部分上方的租户选择部分仅显示在 多租户应用程序中,并且“子域名租赁户名称检测” 不可用(请参阅主机设置部分)。当我们单击更改链接时,出现租户更改对话框,我们可以更改租户。 在初始数据库中有一个名为Default的租户(请参阅初始种子数据的实体框架部分)。将租户名称输入留为空,用host登录。
我们可以先使用admin用户名和123qwe 密码来运行应用程序。首先登录后,我们应该更改管理员密码,因为123qwe不是很安全:

更改密码后,我们将重定向到后端应用程序。
社交登录
ASP.NET Zero支持社交媒体登录。要启用它,我们应该改变如下设置一个ppsettings.json文件。
“Authentication”:{
“Facebook”:{
“IsEnabled”:“false”,
“AppId”:“”,
“AppSecret”:“”
},
“Google”:{
“IsEnabled”:“false”,
“ClientId”:“”,
“ClientSecret”:“”
},
“Twitter”:{
“IsEnabled”:“false”,
“ConsumerKey”:“”,
“ConsumerSecret”:“”
},
“Microsoft”:{
“IsEnabled”:“false”,
“ConsumerKey”:“”,
“ConsumerSecret”:“”
}
},
您可以在网络上找到许多文档,以了解如何获取社交平台的身份验证密钥。因此,我们不会详细介绍在社交媒体上制作应用程序的细节。一旦你得到你的key,你可以把它们写入appsettings.json。启用它后,社交媒体标志会自动显示在登录页面上,如下所示:

OPENID连接登录
除了社交登录,ASP.NET Zero还包括OpenId Connect Login集成。它的配置可以在 appsettings.json中更改:
“OpenId”:{
“IsEnabled”:“false”,
“Authority”:“”,
“ClientId”:“”,
“ClientSecret”:“”
}
启用后,登录页面会显示一个徽标(与上述社交徽标相似)。
双因素登录
ASP.NET Zero可以提供两个因素登录,但是默认情况下禁用。您可以在主机设置页面(安全选项卡)中轻松启用它:

注意:在多租户应用程序中,只有在主机设置中启用了双重身份验证才可以向租户提供。此外,电子邮件验证和短信验证设置仅在主机端可用。这仅是设计。
启用后,输入用户名和密码后,系统会要求用户选择验证方式:

然后将确认码发送到所选提供商,用户在下一页中输入代码:

电子邮件验证
如果用户具有确认的电子邮件地址,则可用。由于电子邮件发送在调试模式下被禁用,您可以在日志中看到代码。在发布模式下,电子邮件将被发送(您可以更改此信息并使电子邮件可用于调试,请参阅发送电子邮件部分)。
短信验证
如果用户具有确认的电话号码,则可以使用此功能。SMS发送实际上没有实现(因为它需要与SMS供应商集成)。当前的实现只是将安全代码写入日志。您应该在解决方案中完成 IdentitySmsMessageService类,使其可用。否则,在设置中禁用短信验证。
用户锁定
如上一节所述,您可以配置用户锁定设置。用户在指定的计数和持续时间输入错误的密码时锁定。
注册
当我们点击登录页面中的“ 创建帐户 ”链接时,会显示一个注册表单:

用户可以注册租户,而不是Host,如果这是一个多租户应用程序。如果是单租户,这里就不会有租户名称。
Recaptcha(安全问题)是可选的。它使用Google的recaptcha服务。每个域名Recaptcha服务工作。因此,为了使其正常工作,您应该在https://www.google.com/recaptcha上为您的域创建自己的私钥和公钥, 并在appsettings.json文件中替换密钥。
电子邮件激活
当用户如上所示注册时,电子邮件确认码将发送到他的电子邮件地址。如果用户因某些原因未收到此电子邮件,可以点击电子邮件激活并重新发送确认码。

再次,租户名称输入未显示为单租户应用程序,或租户名称通过子域名(如tenancyname.mydomain.com)已知。
忘记密码
如果用户忘了他的密码,他可以点击“忘记密码”链接获取电子邮件重置密码。

ASP.NET Zero--前端应用程序的更多相关文章
- ASP.NET Core Web 应用程序系列(五)- 在ASP.NET Core中使用AutoMapper进行实体映射
本章主要简单介绍下在ASP.NET Core中如何使用AutoMapper进行实体映射.在正式进入主题之前我们来看下几个概念: 1.数据库持久化对象PO(Persistent Object):顾名思义 ...
- 从实体框架核心开始:构建一个ASP。NET Core应用程序与Web API和代码优先开发
下载StudentApplication.Web.zip - 599.5 KB 下载StudentApplication.API.zip - 11.5 KB 介绍 在上一篇文章中,我们了解了实体框架的 ...
- 创建ASP.NET Core MVC应用程序(6)-添加验证
创建ASP.NET Core MVC应用程序(6)-添加验证 DRY原则 DRY("Don't Repeat Yourself")是MVC的设计原则之一.ASP.NET MVC鼓励 ...
- 创建ASP.NET Core MVC应用程序(5)-添加查询功能 & 新字段
创建ASP.NET Core MVC应用程序(5)-添加查询功能 & 新字段 添加查询功能 本文将实现通过Name查询用户信息. 首先更新GetAll方法以启用查询: public async ...
- 创建ASP.NET Core MVC应用程序(4)-添加CRUD动作方法和视图
创建ASP.NET Core MVC应用程序(4)-添加CRUD动作方法和视图 创建CRUD动作方法及视图 参照VS自带的基架(Scaffold)系统-MVC Controller with view ...
- 创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表
创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表 创建数据模型类(POCO类) 在Models文件夹下添 ...
- 创建ASP.NET Core MVC应用程序(2)-利用MySQL Connector NET连接到MySQL
创建ASP.NET Core MVC应用程序(2)-利用MySQL Connector NET连接到MySQL 用惯.NET的研发人员都习惯性地使用SQLServer作为数据库.然而.NET Core ...
- 创建ASP.NET Core MVC应用程序(1)-添加Controller和View
创建ASP.NET Core MVC应用程序(1)-添加Controller和View 参考文档:Getting started with ASP.NET Core MVC and Visual St ...
- 不懂前端的程序员不是好美工——UI框架metronic使用教程——程序员视角
本着不懂前端的程序员不是好美工的观点,所以作为一个仅懂一点前端的程序员,为了成为一个好美工,所以只能用些取巧的方法伪装一下. metronic一个基于bootstrap的响应式的后台管理平台的UI框架 ...
随机推荐
- [Swift]LeetCode799. 香槟塔 | Champagne Tower
We stack glasses in a pyramid, where the first row has 1 glass, the second row has 2 glasses, and so ...
- [Swift]LeetCode880. 索引处的解码字符串 | Decoded String at Index
An encoded string S is given. To find and write the decodedstring to a tape, the encoded string is ...
- 读取Json,并替换json中的指定字符
string jsonfile = @"E:\history.json";//JSON文件路径 using (System.IO.FileStream file = new Fil ...
- 正交矩阵、EVD、SVD
原文地址:https://www.jianshu.com/p/1004dd342fe2 一.正交矩阵 二.EVD 特征值分解(Eigen Value Decomposition, EVD). 对于对称 ...
- scala读取解析json文件
import scala.util.parsing.json.JSON._ import scala.io.Source object ScalaJsonParse { def main(args: ...
- Python内置函数(3)——any
英文文档: any(iterable) Return True if any element of the iterable is true. If the iterable is empty, re ...
- 【MongoDb入门】15分钟让你敢说自己会用MongoDB了
一.MongDB是什么呢,我该如何下手呢? MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. 如果小伙伴你的机器上还没有安装Mon ...
- Qt5模块简介
原文链接:Qt5 模块简介 无意中看到这篇文章,虽然讲的不是经常用的东西,但是看了这篇文章之后,可以对qt有个大致的了解,能够清晰的知道自己想要什么,应该关注那一部分,学习了,相信以后会又很大 ...
- redis 系列22 复制Replication (下)
一. 复制环境准备 1.1 主库环境(172.168.18.201) 环境 说明 操作系统版本 CentOS 7.4.1708 IP地址 172.168.18.201 网关Gateway 172. ...
- 阿里注册中心nacos使用整合Dubbo-原创
阿里注册中心nacos是今年开源的框架,一开始以为就是个zk.后面看了图才明白他对标的竟然是consul\eureka,最重要是完美支持dubbo.我想今年开源它也是别有用意 .(目前nacos0.7 ...