账户模块
账户模块实现了基础认证功能,包括登录、注册、忘记密码和账户管理。
本模块基于微软Identity库和身份模块构建。通过与IdentityServer(基于IdentityServer模块)和OpenIddict(基于OpenIddict模块)的集成,提供单点登录、访问控制等高级认证功能。
安装方式
本模块以预安装包(NuGet/NPM包)形式提供。您可以选择持续使用包版本以便轻松获取更新,也可将源代码集成至您的解决方案中(参见 get-source CLI命令)进行自定义开发。
源代码
模块源代码可在此处访问:GitHub仓库。代码采用MIT许可协议,可自由使用和定制。
用户界面
本节介绍模块提供的主要页面功能。
登录页
/Account/Login页面提供用户登录功能。
配置后将会显示社交/外部登录按钮,详见下文社交/外部登录章节。注册和忘记密码链接将跳转至后续章节说明的对应页面。
注册页
/Account/Register页面提供新用户注册功能。
密码找回与重置
/Account/ForgotPassword页面提供向用户邮箱发送密码重置链接的功能。用户点击链接后可设置新密码。
账户管理
/Account/Manage页面用于修改用户密码和个人信息。
OpenIddict集成
Volo.Abp.Account.Web.OpenIddict包提供与OpenIddict的集成。该包已预装在 应用启动模板中,详见OpenIddict模块文档。
IdentityServer集成
Volo.Abp.Account.Web.IdentityServer包提供与IdentityServer的集成。该包已预装在应用启动模板中,详见IdentityServer模块文档。
社交/外部登录
账户模块已预设支持社交/外部登录功能。您可参照ASP.NET Core文档为应用添加社交/外部登录提供商。
示例:Facebook认证
参照ASP.NET Core Facebook集成文档为应用添加Facebook登录支持。
添加NuGet包
将Microsoft.AspNetCore.Authentication.Facebook包添加至项目。根据架构设计,可能需要添加到.Web、.IdentityServer(分层架构)或.Host项目。
配置提供商
在模块的ConfigureServices方法中使用.AddFacebook(...)扩展方法配置客户端:
context.Services.AddAuthentication()
.AddFacebook(facebook =>
{
facebook.AppId = "...";
facebook.AppSecret = "...";
facebook.Scope.Add("email");
facebook.Scope.Add("public_profile");
});
建议使用
appsettings.json或ASP.NET Core用户密钥系统存储凭证信息,而非硬编码值。请参阅微软官方文档了解用户密钥使用方法。
抠丁客






