尝试登录Angular 6时未调用route auth Guard

时间:2018-12-05 12:52:19

标签: angular

我的身份验证保护出现问题。我正在使用具有所有这些功能的主题,但是在制作了自定义文件夹和文件后,必须使用主根页面中的pagemodule.ts文件进行路由。我已经做到了,但是仍然似乎没有阅读我自己的模块页面以及所有必须显示的组件。

就像没有到authguards的连接。

当我将路由页面模块更改为此时:

const routes: Routes = [
    {
        path: '',
        component: PagesComponent,
        canActivate: [NgxPermissionsGuard],

        data: {
            permissions: {
                only: '',
                except: ['GUEST'],
                redirectTo: '/login'
            }

        },
        children: [

            {   
                path: '',
                loadChildren: './components/dashboard/dashboard.module#DashboardModule'
            },          

然后我可以访问所有内容,因为我没有在ADMIN中声明唯一的“”,如果将其设置为ADMIN,则将永远无法登录网站查看内容。

我尝试登录时具有以下代码:

public login(credential: Credential): Observable<any> {

        return this.http.post<AccessData>(this.API_URL + this.API_ENDPOINT_LOGIN, { user_login: credential.email, user_password: credential.password })
            .pipe(map((result: any) => {
                if (result instanceof Array) {
                    console.log(result);
                    return result.pop();
                }

                 result.roles = ['ADMIN','USER','OWNER','AWESOME'];
                 //result.userRoles = "ADMIN";

                console.log(result);
                return result;
            }),
                tap(this.saveAccessData.bind(this)),
                catchError(this.handleError('login', []))
            );
    } 

我试图将结果赋予我可以想到的所有不同角色,并且它可以显示,但仍然不能让我访问主页(仪表板)上的内容。

有人可以帮助我吗? 谢谢

0 个答案:

没有答案