我如何设置身份验证保护以仅允许管理员使用管理仪表板(ngx-admin)?

用户10976183

我在 MySql 中有一个用户列表,每个用户都有 ADMIN 或 USER 的角色列。我已经设置了身份验证保护,只允许注册用户使用 ngx-admin,但我想更进一步,只允许管理员进入。我怎样才能做到这一点?

齐塔瓦斯

关于授权。当角色不是管理员时,您必须发送未经授权的 API 响应。

然后你需要一个拦截器,它会在收到未经授权的响应时注销用户。或者让他返回一个新的未经授权的页面。无论是首选。

我对春天一无所知。但是在 angular 中,您可以像这样修改拦截器。

@Injectable()
export class HttpConfigInterceptor implements HttpInterceptor {
    constructor(private authenticationService: AuthenticationService) { }
    intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {

        request = request.clone({ url: `${request.url}` });

        // Sample how authorization headers are being assigned
        let currentUser = this.authService.currentUserValue;

        if (currentUser && currentUser.Token) {
            request = request.clone({
                setHeaders: {
                    Authorization: `Bearer ${currentUser.Token}`
                }
            });
        }
        ////

        return next.handle(request).pipe(
            map((event: HttpEvent<any>) => {
                if (event instanceof HttpResponse) {
                }
                return event;
            }),
            catchError((error: HttpErrorResponse) => {
             //Here you can catch errors in the request.

                if (error.status === 401) { <- 401 is UnAuthorized . if Status is 401
                    // auto logout if 401 response returned from api - Unauthorized
                    this.authService.logout();
                    location.reload(true);
                   //Redirecting is left to the AuthGuard. it will auto redirect on reload
                }
               //this is if any other error occurs.
                let data = {};
                data = {
                    reason: error && error.error.reason ? error.error.reason : '',
                    status: error.status
                };
                return throwError(error);
            }));
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何设置rails_admin的管理员凭据?

来自分类Dev

如何将管理仪表板功能添加到我的PSK应用程序?为什么我无法进入admin.html页面?

来自分类Dev

Wordpress wp-admin 仪表板

来自分类Dev

如何使用 django-admin 面板或管理员帐户发送 firebase 通知?

来自分类Dev

只有管理员允许访问wp-admin并登录?

来自分类Dev

Windows 7 Admin用户-批处理文件始终以管理员身份运行

来自分类Dev

非管理员对Google Admin SDK的只读访问权限

来自分类Dev

从Sonata-admin的Sidemenu中删除子管理员

来自分类Dev

Joomla的管理员后端(ADMIN PANEL)非常慢

来自分类Dev

从Sonata-admin的Sidemenu中删除子管理员

来自分类Dev

我必须是管理员才能向wp-admin / admin-post.php发出请求吗?

来自分类Dev

如何在Rails 6中使用acitve admin登录到管理员帐户和用户帐户?

来自分类Dev

如何通过Admin-SDK API为管理员用户获取组织名称?

来自分类Dev

如何在 Sonata Admin 中为一个实体创建 2 个管理员?

来自分类Dev

强制Inno安装程序使用PrivilegesRequired = admin将数据存储在非管理员HKCU中

来自分类Dev

使用自定义管理员url时无法登录magento admin

来自分类Dev

无法使用 admin on rest 限制登录到环回的管理员权限

来自分类Dev

无法使用 git 安装管理员管理仪表板

来自分类Dev

非管理员仪表板的Django登录页面

来自分类Dev

管理员/仪表板定义路由未运行

来自分类Dev

Sonata管理员仪表板仅删除一个实体的列表链接

来自分类Dev

Sonata管理员仪表板仅删除一个实体的列表链接

来自分类Dev

在Rails_Admin中安装Split gem仪表板

来自分类Dev

Django Admin:停用身份验证

来自分类Dev

在wp-admin / admin仪表板上获取当前页面的URL?

来自分类Dev

我应该在admin和api之间在laravel中重用控制器吗?或让我的管理员使用我的API?

来自分类Dev

Rails Active Admin:如何向仪表板添加后退按钮

来自分类Dev

CodeIgniter离子身份验证:is_admin()如何工作?

来自分类Dev

CodeIgniter离子身份验证:is_admin()如何工作?

Related 相关文章

  1. 1

    如何设置rails_admin的管理员凭据?

  2. 2

    如何将管理仪表板功能添加到我的PSK应用程序?为什么我无法进入admin.html页面?

  3. 3

    Wordpress wp-admin 仪表板

  4. 4

    如何使用 django-admin 面板或管理员帐户发送 firebase 通知?

  5. 5

    只有管理员允许访问wp-admin并登录?

  6. 6

    Windows 7 Admin用户-批处理文件始终以管理员身份运行

  7. 7

    非管理员对Google Admin SDK的只读访问权限

  8. 8

    从Sonata-admin的Sidemenu中删除子管理员

  9. 9

    Joomla的管理员后端(ADMIN PANEL)非常慢

  10. 10

    从Sonata-admin的Sidemenu中删除子管理员

  11. 11

    我必须是管理员才能向wp-admin / admin-post.php发出请求吗?

  12. 12

    如何在Rails 6中使用acitve admin登录到管理员帐户和用户帐户?

  13. 13

    如何通过Admin-SDK API为管理员用户获取组织名称?

  14. 14

    如何在 Sonata Admin 中为一个实体创建 2 个管理员?

  15. 15

    强制Inno安装程序使用PrivilegesRequired = admin将数据存储在非管理员HKCU中

  16. 16

    使用自定义管理员url时无法登录magento admin

  17. 17

    无法使用 admin on rest 限制登录到环回的管理员权限

  18. 18

    无法使用 git 安装管理员管理仪表板

  19. 19

    非管理员仪表板的Django登录页面

  20. 20

    管理员/仪表板定义路由未运行

  21. 21

    Sonata管理员仪表板仅删除一个实体的列表链接

  22. 22

    Sonata管理员仪表板仅删除一个实体的列表链接

  23. 23

    在Rails_Admin中安装Split gem仪表板

  24. 24

    Django Admin:停用身份验证

  25. 25

    在wp-admin / admin仪表板上获取当前页面的URL?

  26. 26

    我应该在admin和api之间在laravel中重用控制器吗?或让我的管理员使用我的API?

  27. 27

    Rails Active Admin:如何向仪表板添加后退按钮

  28. 28

    CodeIgniter离子身份验证:is_admin()如何工作?

  29. 29

    CodeIgniter离子身份验证:is_admin()如何工作?

热门标签

归档