lynnlin-sso-um

0.0.2 • Public • Published

rect-sso-um

通过统一调用以及参数配置实现SSO和UM菜单权限的配置

使用流程

1 安装

npm install snk-sso-um --save

2 配置文件 .roadhogrc.js

... 
   extraBabelIncludes:["node_modules/snk-sso-um"], // <-- 增加babel 编译配置
   env: {
    development: { // 开发环境
      extraBabelPlugins: [
        'dva-hmr',
      ],
      define: {
        SERVER: '',
        // 单点登录用户信息接口 具体业务具体填写
        SSOSERVER:'http://ip:port/sso/user',
        UMMENUSERVER:'http://ip:port/um/system/这里是UM系统名/user/{userCode}/menu',
        UMBUTTONSERVER:'http://ip:port/um/system/这里是UM系统名/user/{userCode}/button',
        SSOLOGOUTSERVER:'http://10.1.109.27:8080/sso/logout',
      }
    },
  },

3 在src/router.js 编写业务代码,增加Menu菜单配置,以及路由注册,和方法调用

DEMO

http://git.sinosafe.com.cn/teamwork/selling-expenses/blob/master/fee-admin-domain/FeeAdmin/src/router.js

名称 类型 描述
um boolean 是否使用UM权限 默认为false
menuData JSON 菜单数据,如果UM为true的时候不传
router JSON 路由注册数据
useButtonPermission boolean 是否使用调用BUTTON权限 默认为false
... 其他参数 固定写法,参照demo中的配置

4 更改src/layout/BasicLayout.js

DEMO

http://git.sinosafe.com.cn/teamwork/selling-expenses/blob/master/fee-admin-domain/FeeAdmin/src/layouts/BasicLayout.js

其中增加了ssoummodel的注入,以及Menu菜单数据的注入,以及退出的等方法实现

新的工程可直接拷贝这个页面使用

5 按钮权限的使用(如果应用需要使用到的按钮权限的话)

首先需要在UM系统中进行按钮的相关配置

然后.roadhogrc.js配置增加按钮路径的配置UMBUTTONSERVER字段

然后src/router.js 中配置 useButtonPermission为true

普通按钮权限

import {  PermissionWrapper } from 'snk-sso-um';

<PermissionWrapper permissionKey='um系统中对应的按钮的名称'>
    <Button>删除</Button>  // <- 这里原来怎么写就怎么写
</PermissionWrapper>

理论上是可以包裹任意的组件,但是包裹Select.Option报错,所以增加了如下的实现。

下拉按钮的权限

import {  PermissinSelectOption } from 'snk-sso-um';

<Select>
    <Option>审批</Option>
    <Option>未审批</Option>
    <Option><PermissinSelectOption permissionKey='um系统中对应的按钮的名称'>权限</PermissinSelectOption></Option>
</Select>

以上为使用步骤




开发注意事项

因为封装时候的代码,在src\AuthorityWrapper\router中封装了model的引用,在开发和发布的时候因为实际的业务model路径不一致,所以需要做如下的更改

http://git.sinosafe.com.cn/snk/snk-sso-um/blob/master/src/AuthorityWrapper/router.js#L23

http://git.sinosafe.com.cn/snk/snk-sso-um/blob/master/src/AuthorityWrapper/router.js#L39

开发阶段

23行39行 路径为:

../models

发布阶段

23行39行 路径为:

../../../../src/models

Readme

Keywords

none

Package Sidebar

Install

npm i lynnlin-sso-um

Weekly Downloads

1

Version

0.0.2

License

none

Unpacked Size

548 kB

Total Files

304

Last publish

Collaborators

  • lynnlin123321