npm 包 `materialized-group-auth` 使用教程

前言

在前端开发中,用户认证和授权一直是非常重要的部分。在 React 开发中,我们可以使用很多现成的库来完成这个过程,而 materialized-group-auth 就是其中的一个。它基于 React 和 Material-UI 库,提供了一种简单易用的方式来实现用户认证和授权。

本文将带你详细了解 materialized-group-auth 的使用方法,并通过示例代码来说明它的学习和指导意义。

安装

使用 npmyarn 来安装 materialized-group-auth

- -- --- --
--- ------- -----------------------

- -- ---- --
---- --- -----------------------

快速入门

materialized-group-auth 提供了两个核心组件来完成用户认证和权限控制:

  • Auth:用于认证用户身份;
  • Authorized:用于控制用户是否可以访问某些页面或组件。

Auth 组件

Authmaterialized-group-auth 的认证组件,它可以将用户的身份验证状态存储在 Redux 中。它接受以下属性:

  • loginPath:登录页面的路径,默认为 /login
  • authenticatedSelector:一个函数,用于检查用户是否已认证;
  • loginComponent:当未认证时,显示的登录组件;
  • loginSuccessAction:登录成功后要发出的 Redux action;
  • logoutSuccessAction:注销成功后要发出的 Redux action;
  • store:Redux Store 对象,如果不提供,该组件将创建一个新的 Store。

以下是 Auth 的基本使用示例:

------ - ---- - ---- --------------------------

-- ----------- ---- --
----- ----- - -- -- -
  ------
    --- --------------- -- -- -
      --------------- - ----- -- - ------ --
    --
  -------
--

Authorized 组件

Authorizedmaterialized-group-auth 的授权组件,它用于限制某些页面或组件只能由授权用户访问。它接受以下属性:

  • groups:授权用户的组名数组;
  • groupsSelector:一个函数,用于检查用户的组是否属于授权组;
  • UnauthorizedComponent:当未授权时,显示的组件。

以下是 Authorized 的基本使用示例:

------ - ---------- - ---- --------------------------

-- -------------- ---- --
----- ---- - -- -- -
  ----------- ---------------------------
    --------- ---- ---------
  -------------
--

高级用法

materialized-group-auth 提供了一些高级用法,可以满足更复杂的场景。

动态改变授权组

在某些场景下,我们可能需要动态改变授权组。 materialized-group-auth 提供了 setAuthorizedGroups 方法来进行这个操作:

------ - ----- ------------------- - ---- --------------------------

----- ----- - -- -- -
  ------
    --- --------------- -- -- -
      --------------- - -
        --
          --- --------- ------- ---
          ------- ----------- -- ------------------------------------- -----------
            ------
          ---------
          ----- --
        ---
      - - -
        ------ --
      -
    --
  -------
--

自定义源数据

默认情况下,materialized-group-auth 会将认证和授权组信息存储在 Redux 中。如果你需要自定义这些数据源,可以使用 AuthContextAuthorizedContext

------ - ------------ ----------------- - ---- --------------------------

----- ----- - -- -- -
  --------------------- -------------------
    --------------------------- -------------------------
      ----- --
    -----------------------------
  -----------------------
--

总结

materialized-group-auth 是一个方便易用的 React 认证和授权库,提供了 AuthAuthorized 两个核心组件来帮助我们完成这个过程。本文简单介绍了 materialized-group-auth 的基本使用和高级用法,希望能够帮助读者更好地理解和使用该库。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/5eedaca5b5cbfe1ea0610ab4


猜你喜欢

  • npm 包 scuttle-inject 使用教程

    在前端开发中,经常需要实现依赖注入功能来保证代码的可维护性和可扩展性。scuttle-inject 是一个轻量级、可配置的依赖注入工具,本文将为大家介绍如何使用它。

    4 年前
  • npm 包 run-default 使用教程

    基于 npm 存在的众多包,我们经常会遇到需要无需参数传入时自动运行的需求。例如,我们要运行一个简单的 TypeScript 编译脚本,但面对用户进入命令行时缺少参数的情况,我们该怎么处理呢?这时就可...

    4 年前
  • npm包ssb-conn-hub 使用教程

    前言 我们都知道,Secure Scuttlebutt (SSB) 是一个点对点的数据库,它提供了去中心化的社交网络。在进行 SSB 应用的开发过程中,通过使用 ssb-conn-hub 这个 npm...

    4 年前
  • npm 包 ssb-msg-content 使用教程

    在编写基于 Secure Scuttlebutt 协议的应用时,需要利用 ssb-msg-content 这个 npm 包来创建和解析消息内容。本文将介绍 ssb-msg-content 的基本功能和...

    4 年前
  • 使用 ssb-conn-query npm 包教程

    简介 ssb-conn-query 是Secure Scuttlebutt 应用的一个 npm 包,该应用是一种去中心化的社交媒体平台,同样也是一个 P2P 网络的协议。

    4 年前
  • npm 包 ssb-conn-staging 使用教程

    ssb-conn-staging 是一个用于安全地创建可靠的连接的 npm 包,它为远程 ssb 服务器提供了一组 API,使得连接更容易、更可靠,同时还能保障连接的安全性。

    4 年前
  • npm 包 ssb-typescript 使用教程

    简介 如果你是一名前端开发者,你一定经常需要使用一些 npm 包来加速你的项目开发。其中,ssb-typescript 是一个非常有用的 npm 包,它能够帮助你快速地开发 TypeScript 应用...

    4 年前
  • npm 包 default-shell 使用教程

    概述 npm 包 default-shell 是一个用于获取当前用户的系统默认 shell 的 JavaScript 库。通过这个库可以方便的获取系统环境变量并且可以在不同的操作系统间做到兼容性。

    4 年前
  • npm 包 shell-env 使用教程

    在前端开发过程中,我们经常需要在命令行中使用各种工具来进行项目构建、调试等操作。而在项目中使用 npm 包 shell-env,能够方便地在命令行中获取 Node、npm、git、操作系统等环境变量,...

    4 年前
  • npm 包 shell-path 使用教程

    在前端开发中,我们经常需要使用 shell 命令进行一些操作,比如编译、构建、打包等等。但是不同操作系统的 shell 命令也不尽相同,这就带来了不少的麻烦。为了解决这个问题,我们可以使用 npm 包...

    4 年前
  • npm 包 zii 使用教程

    1. 什么是 zii? zii 是一个可以用于前端开发的 npm 包。它提供了许多实用的功能和组件,可以帮助开发者更快地构建 Web 应用程序。zii 支持多种框架,如 React,Vue 和 Ang...

    4 年前
  • npm 包 async-single 使用教程

    介绍 async-single 是一个 NPM 包,它可以帮助开发人员将异步函数转换为支持类 Node.js 单线程环境的异步执行器,避免了常见的 Node.js 异步执行回调地狱问题。

    4 年前
  • npm 包 electron-compile 使用教程

    前言 随着互联网时代的到来,前端技术逐渐成为人们关注的焦点。越来越多的前端技术被开发出来,为开发者提供更好的开发体验。其中一个值得关注的技术是 electron-compile。

    4 年前
  • npm 包 @paulcbetts/mime-db 使用教程

    在前端开发中,经常需要处理文件的 MIME 类型,例如判断文件类型、渲染文件等。@paulcbetts/mime-db 是一个实用的 NPM 包,可以方便地获取文件的 MIME 类型信息。

    4 年前
  • npm 包 @paulcbetts/mime-types 使用教程

    在前端开发中,我们会经常遇到处理文件类型的情况。@paulcbetts/mime-types 是一个 NPM 包,可以方便地解析不同的文件类型。本文将介绍如何使用 @paulcbetts/mime-t...

    4 年前
  • npm 包 @paulcbetts/vueify 使用教程

    什么是 @paulcbetts/vueify @paulcbetts/vueify 是一个基于 Vue.js 的预处理器,它将 Vue.js 的单文件组件(.vue)转化为 JavaScript 模块...

    4 年前
  • npm 包 toutsuite 使用教程

    什么是 toutsuite? toutsuite 是一个方便的工具,可以帮助前端开发人员快速创建出精美的网站导航栏。它提供了丰富的样式和主题,功能强大,易于使用和定制,是开发高质量网站的必备工具。

    4 年前
  • npm 包 electron-compilers 使用教程

    npm 包 electron-compilers 使用教程 简介 Electron 是一款流行的跨平台桌面应用程序开发框架,它能够使用 JavaScript, HTML 和 CSS 来构建桌面应用。

    4 年前
  • npm 包 electron-prebuilt-compile 使用教程

    介绍 electron-prebuilt-compile 是一个 Electron 开发的工具包,可以快速启动和编译 Electron 应用程序。它是基于 npm 镜像源的,因此可以轻松地使用 npm...

    4 年前
  • npm 包 @aabuhijleh/electron-remote 使用教程

    @aabuhijleh/electron-remote 是一个基于 Electron 的 npm 包,用于在主进程中调用渲染进程(网页)中的函数或获取网页中的返回值。

    4 年前

相关推荐

    暂无文章