前端应用程序

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--前端应用程序的更多相关文章

  1. ASP.NET Core Web 应用程序系列(五)- 在ASP.NET Core中使用AutoMapper进行实体映射

    本章主要简单介绍下在ASP.NET Core中如何使用AutoMapper进行实体映射.在正式进入主题之前我们来看下几个概念: 1.数据库持久化对象PO(Persistent Object):顾名思义 ...

  2. 从实体框架核心开始:构建一个ASP。NET Core应用程序与Web API和代码优先开发

    下载StudentApplication.Web.zip - 599.5 KB 下载StudentApplication.API.zip - 11.5 KB 介绍 在上一篇文章中,我们了解了实体框架的 ...

  3. 创建ASP.NET Core MVC应用程序(6)-添加验证

    创建ASP.NET Core MVC应用程序(6)-添加验证 DRY原则 DRY("Don't Repeat Yourself")是MVC的设计原则之一.ASP.NET MVC鼓励 ...

  4. 创建ASP.NET Core MVC应用程序(5)-添加查询功能 & 新字段

    创建ASP.NET Core MVC应用程序(5)-添加查询功能 & 新字段 添加查询功能 本文将实现通过Name查询用户信息. 首先更新GetAll方法以启用查询: public async ...

  5. 创建ASP.NET Core MVC应用程序(4)-添加CRUD动作方法和视图

    创建ASP.NET Core MVC应用程序(4)-添加CRUD动作方法和视图 创建CRUD动作方法及视图 参照VS自带的基架(Scaffold)系统-MVC Controller with view ...

  6. 创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表

    创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表 创建数据模型类(POCO类) 在Models文件夹下添 ...

  7. 创建ASP.NET Core MVC应用程序(2)-利用MySQL Connector NET连接到MySQL

    创建ASP.NET Core MVC应用程序(2)-利用MySQL Connector NET连接到MySQL 用惯.NET的研发人员都习惯性地使用SQLServer作为数据库.然而.NET Core ...

  8. 创建ASP.NET Core MVC应用程序(1)-添加Controller和View

    创建ASP.NET Core MVC应用程序(1)-添加Controller和View 参考文档:Getting started with ASP.NET Core MVC and Visual St ...

  9. 不懂前端的程序员不是好美工——UI框架metronic使用教程——程序员视角

    本着不懂前端的程序员不是好美工的观点,所以作为一个仅懂一点前端的程序员,为了成为一个好美工,所以只能用些取巧的方法伪装一下. metronic一个基于bootstrap的响应式的后台管理平台的UI框架 ...

随机推荐

  1. [Swift]LeetCode957. N天后的牢房 | Prison Cells After N Days

    There are 8 prison cells in a row, and each cell is either occupied or vacant. Each day, whether the ...

  2. Oracle常用语句

    Oracle数据库常用sql语句 ORACLE 常用的SQL语法和数据对象一.数据控制语句 (DML) 部分 1.INSERT (往数据表里插入记录的语句) INSERT INTO 表名(字段名1, ...

  3. 学习Python--变量进阶

    变量进阶(理解) 目标 变量的引用 可变和不可变类型 局部变量和全局变量 01. 变量的引用 变量 和 数据 都是保存在 内存 中的 在 Python 中 函数 的 参数传递 以及 返回值 都是靠 引 ...

  4. HBase之行信息简析

    这一节我们简单介绍一下HBase的行信息.文章前半部分会对照源码介绍,后面会有我自己画的图,大家如果对这些信息已经比较了解了,跳过源码对照部分看后面的图,加深一下印象. 下面简单分析一下HBase中对 ...

  5. Python爬虫入门教程 19-100 51CTO学院IT技术课程抓取

    写在前面 从今天开始的几篇文章,我将就国内目前比较主流的一些在线学习平台数据进行抓取,如果时间充足的情况下,会对他们进行一些简单的分析,好了,平台大概有51CTO学院,CSDN学院,网易云课堂,慕课网 ...

  6. Android 修改字体,跳不过的 Typeface

    序 在 Android 下使用自定义字体已经是一个比较常见的需求了,最近也做了个比较深入的研究. 那么按照惯例我又要出个一篇有关 Android 修改字体相关的文章,但是写下来发现内容还挺多的,所以我 ...

  7. SpringCloud Ribbon的分析(二)

    上文我们分析到 loadBalancer 根据具体的算法选择相应的server. protected Server getServer(ILoadBalancer loadBalancer) { if ...

  8. Vimtutor(中文版)学习笔记各章小结

    在Bash中直接输入 vimtutor 打开新世界!通常阅读完需要25-30分钟不等,像玩游戏一样学会vim,然后爱不释手 里面设置了很多例子通过实践操作来学,这里仅把vimtutor上的每一章小结记 ...

  9. Chapter 5 Blood Type——16

    "Okay, guys, I want you all to take one piece from each box," he said as he produced a pai ...

  10. 【Java基础】【08面向对象_继承&方法&final】

    08.01_面向对象(代码块的概述和分类)(了解)(面试的时候会问,开发不用或者很少用) A:代码块概述 在Java中,使用{}括起来的代码被称为代码块. B:代码块分类 根据其位置和声明的不同,可以 ...