Angular UI 账户模块
Angular UI账户模块自v4.3版本起可用。它包含若干页面(登录、注册、我的账户等)。
若将账户模块添加至您的项目:
- 顶部栏当前用户下拉菜单中的"我的账户"链接将重定向用户至账户模块中的页面。
- 您可将认证流程切换为资源所有者密码流。
账户模块实施步骤
通过以下命令安装@abp/ng.account NPM包:
npm install @abp/ng.account
请确保安装的是v4.3或更高版本。
打开app.config.ts文件,将provideAccountConfig()添加至提供者数组,如下所示:
// app.config.ts
import { provideAccountConfig } from "@abp/ng.account/config";
// ...
export const appConfig: ApplicationConfig = {
providers: [
// ...
provideAccountConfig(),
// ...
],
};
打开app.routes.ts文件,将account路由添加至APP_ROUTES数组,如下所示:
// app.routes.ts
export const APP_ROUTES: Routes = [
//...
{
path: 'account',
loadChildren: () => import('@abp/ng.account').then(c => c.createRoutes()),
},
//...
];
商业版模板的账户公共模块实施
专业版启动模板附带@volo/abp.ng.account包。您应将包版本更新至v4.3或更高版本。可通过以下命令更新:
npm install @volo/abp.ng.account
请确保安装的是v4.3或更高版本。
打开app.config.ts文件,将provideAccountPublicConfig()添加至提供者数组,如下所示:
若使用Lepton X主题,请确保已添加
Account Layout Provider。若遗漏此步骤,将收到错误提示:未找到账户布局。请检查配置。若使用LeptonX,请确保已在应用配置中添加"provideAccountLayout()"。否则,可跳过添加provideAccountLayout()步骤。
// app.config.ts
import { provideAccountPublicConfig } from "@volo/abp.ng.account/public/config";
// 若正在使用或计划使用Lepton X,应添加provideAccountLayout
// import { provideAccountLayout } from '@volosoft/abp.ng.theme.lepton-x/account'
//...
export const appConfig: ApplicationConfig = {
providers: [
// ...
provideAccountPublicConfig(),
provideAccountLayout() // 仅适用于Lepton X
// ...
],
};
打开app.routes.ts文件,将account路由添加至APP_ROUTES数组,如下所示:
// app.routes.ts
export const APP_ROUTES: Routes = [
//...
{
path: 'account',
loadChildren: () => import('@volo/abp.ng.account/public').then(c => c.createRoutes()),
},
//...
];
我的账户页面
在v4.3之前,顶部栏当前用户下拉菜单中的"我的账户"链接会将用户重定向至MVC的配置文件管理页面。自v4.3起,若已将账户模块添加至项目,相同链接将跳转至Angular UI账户模块中的页面。
个人信息页面确认提示
当用户在"我的账户"的个人设置选项卡中修改自身数据时,这些数据无法更新Application-Configuration的CurrentUser键值。用户信息存储于声明中。将此信息应用于Application-Configuration的CurrentUser的唯一方式是用户需重新登录。待刷新令牌功能实现后,此问题将得到修复。因此我们添加了确认提示。
若需禁用此警告,应将isPersonalSettingsChangedConfirmationActive设为false:
// app.routes.ts
export const APP_ROUTES: Routes = [
//...
{
path: 'account',
loadChildren: () => import('@volo/abp.ng.account/public').then(c => c.create({ isPersonalSettingsChangedConfirmationActive:false })),
},
//...
];
安全日志页面[商业版]
在v4.3之前,顶部栏当前用户下拉菜单中的"安全日志"链接会将用户重定向至MVC的安全日志页面。自v4.3起,若已将账户模块添加至项目,相同链接将跳转至Angular UI账户公共模块中的页面。
资源所有者密码流
OAuth在Angular应用模板中默认预配置为授权码流。若已将账户模块添加至项目,可通过修改_environment.ts_文件中的OAuth配置切换至资源所有者密码流,如下所示:
import { Config } from '@abp/ng.core';
export const environment = {
// 为简洁起见省略其他选项
oAuthConfig: {
issuer: 'https://localhost:44305', // AuthServer地址
clientId: 'MyProjectName_App',
dummyClientSecret: '1q2w3e*',
scope: 'offline_access MyProjectName',
},
// 为简洁起见省略其他选项
} as Config.Environment;
详情请参阅Angular UI中的授权文档。
抠丁客


