1.0.24 • Published 10 months ago

w-web-perm v1.0.24

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

w-web-perm

A web service for permissions.

language npm version license npm download npm download jsdelivr download

Documentation

To view documentation or get support, visit docs.

Installation

Using npm(ES6 module):

npm i w-web-perm

Example for server:

Link: [dev source code]

import WOrm from 'w-orm-mongodb/src/WOrmMongodb.mjs' //自行選擇引用ORM, 使用Mongodb測試
import WWebPerm from './server/WWebPerm.mjs'
import getSettings from './g.getSettings.mjs'

//st let st = getSettings()

let url = mongodb://${st.dbUsername}:${st.dbPassword}@${st.dbIP}:${st.dbPort} //使用Mongodb測試 let db = st.dbName let opt = {

bCheckUser: false,
getUserById: null,
bExcludeWhenNotAdmin: false,

serverPort: 11006,
subfolder: '', //mperm
urlRedirect: 'https://www.google.com/', //本機測試時得先編譯, 再瀏覽: http://localhost:11006/

webName: {
    'eng': 'Permission Service',
    'cht': '權限管理系統',
},
webDescription: {
    'eng': 'A web service package for user permissions and management targets.',
    'cht': 'A web service package for user permissions and management targets.',
},
webLogo: 'data:image/svg+xml;base64,...',

}

let getUserByToken = async (token) => { // return {} //測試無法登入 if (token === '{token-for-application}') { //提供外部應用系統作為存取使用者 return { id: 'id-for-application', name: 'application', email: 'application@example.com', isAdmin: 'y', } } if (token === 'sys') { //開發階段w-ui-loginout自動給予browser使用者(且位於localhost)的token為sys return { id: 'id-for-admin', name: 'tester', email: 'admin@example.com', //mappingBy為email, 開發階段時會使用email找到所建置之使用者資料 isAdmin: 'y', } } console.log('invalid token', token) console.log('於生產環境時得加入SSO等驗證token機制') return {} }

let verifyBrowserUser = (user, caller) => { console.log('verifyBrowserUser/user', user) // return false //測試無法登入 console.log('於生產環境時得加入限制瀏覽器使用者身份機制') return user.isAdmin === 'y' //測試僅系統管理者使用 }

let verifyAppUser = (user, caller) => { console.log('verifyAppUser/user', user) // return false //測試無法登入 console.log('於生產環境時得加入限制應用程式使用者身份機制') return user.isAdmin === 'y' //測試僅系統管理者使用 }

//WWebPerm let instWWebPerm = WWebPerm(WOrm, url, db, getUserByToken, verifyBrowserUser, verifyAppUser, opt)

instWWebPerm.on('error', (err) => { console.log(err) })

1.0.19

11 months ago

1.0.18

11 months ago

1.0.17

11 months ago

1.0.16

11 months ago

1.0.22

11 months ago

1.0.21

11 months ago

1.0.20

11 months ago

1.0.24

10 months ago

1.0.23

10 months ago

1.0.15

11 months ago

1.0.14

11 months ago

1.0.13

11 months ago

1.0.12

1 year ago

1.0.11

1 year ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.10

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago