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)已知。
忘记密码
如果用户忘了他的密码,他可以点击“忘记密码”链接获取电子邮件重置密码。