我设置了我的应用程序,其中许多组件都受到保护。然而,用户仍然能够访问主页“/”。我想知道如果用户没有经过身份验证,是否可以将用户重定向到 /login,而不使我的所有组件成为我在“/”上拥有的任何组件的子组件。我将包含以下内容的修改版本:
const routes: Routes = [
{
path: "login",
component: LoginComponent
},
{
path: "test",
component: TestComponent
},
{
path: "protected",
canActivate: [AuthGuardService],
component: ProtectedComponent
},
{
path: "alsoprotected/:id",
component: AlsoProtectedComponent,
canActivate: [AuthGuardService],
children: [
{ path: "child1", component: ChildOneComponent},
{ path: "child2", component: ChildTwoComponent},
{ path: "child3", component: ChildThreeComponent },
{ path: "child4", component: ChildFourComponent },
{ path: "child5", component: ChildFiveComponent },
{ path: "child6", component: ChildSixComponent },
{ path: "child7", component: ChildSevenComponent }
]
},
{
path: …Run Code Online (Sandbox Code Playgroud) 我在续集方面遇到了一个看似常见的问题。对于上下文,我尝试role为每个user创建的对象分配一个默认值。本质上,每个人的角色都应在首次注册时user设置。default user
我希望能够像使用普通字段一样在模型文件中简单地定义此默认值,但是我似乎找不到正确的语法。
这就是我的用户模型当前的样子:
'use strict';
import { Sequelize } from 'sequelize';
export default (sequelize: Sequelize) => {
const Users = sequelize.define(
'Users',
{
email: {
type: Sequelize.STRING,
allowNull: false
},
some_foreign_id: {
type: Sequelize.STRING,
allowNull: false
}
},
{}
);
Users.associate = models => {
// associations can be defined here
Users.belongsTo(models.Roles, { as: 'Role' });
};
return Users;
};
Run Code Online (Sandbox Code Playgroud)
目前,我只是进行查询以查找role名称default role并在创建时将其添加到我的用户中。不过我觉得这样的询问是没有必要的。
根据谷歌自动填充建议,似乎很多人都遇到这个问题,但没有任何明确的解决方案。
[编辑]
我的role模型(呵呵)目前看起来像这样:
import …Run Code Online (Sandbox Code Playgroud)