Skip to content

Commit a5c06da

Browse files
authored
Merge pull request #552 from RabotaRu/v3.12.1
v3.13.0-beta
2 parents 63df794 + 06aba33 commit a5c06da

File tree

38 files changed

+813
-162
lines changed

38 files changed

+813
-162
lines changed
Binary file not shown.

example.env

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,48 @@
153153
# По умолчанию кластер выключен (off).
154154
# VUE_APP_DOCHUB_CLUSTER= on / off
155155

156+
# ***********************************************************
157+
# Пример конфигурирования ролевой модели
158+
# ***********************************************************
159+
# (B) Режим backend
160+
# Если "y", то включается режим работы с ролевой модель.
161+
# VUE_APP_DOCHUB_ROLES_MODEL= y / n
162+
# Указываем путь до манифеста с описанием ролей
163+
# Пример описания:
164+
# roles:
165+
# users:
166+
# - '^kadzo.v2023.data_objects*$'
167+
# - '^ecogroup.berezka.data_objects[a-zA-Z\._0-9]*$'
168+
# uek:
169+
# - '^kadzo\.v2023\.kb_systems[a-zA-Z\._0-9]*$'
170+
# - '^ecogroup.berezka.kb[a-zA-Z\._0-9]*$'
171+
# default:
172+
# - '^kadzo\.v2023\.data_objects*$'
173+
#VUE_APP_DOCHUB_ROLES=file:///workspace/sberauto/roles.yaml
174+
175+
# Варианты использования:
176+
# documentation/roles.yaml - (F / FB) Относительная ссылка на файл расположенный в папке @/public/
177+
# https://dochub.info/documentation/roles.yaml - (F / FB) прямая ссылка на внешний http/https ресурс
178+
# gitlab:34:main@roles.yaml - Прямая ссылка на на файл в GitLab репозитории.
179+
# (F) Может использоваться только при указании VUE_APP_DOCHUB_PERSONAL_TOKEN или VUE_APP_DOCHUB_GITLAB_URL + VUE_APP_DOCHUB_APP_ID
180+
# (FB) Может использоваться только при указании VUE_APP_DOCHUB_PERSONAL_TOKEN
181+
# Структура ссылки:
182+
# gitlab - протокол GitLab
183+
# 34 - идентификатор репозитория
184+
# main - бранч
185+
# root.yaml - путь к файлу
186+
#
187+
# file://roles.yaml - (FB) Прямая ссылка на файл в хранилище VUE_APP_DOCHUB_BACKEND_FILE_STORAGE.
188+
# Если VUE_APP_DOCHUB_BACKEND_FILE_STORAGE не задан, то ./public/*
189+
# bitbucket:myproject:myrepo:mybranch@roles.yaml Прямая ссылка на на файл в BitBucket репозитории.
190+
# (F/FB) Может использоваться только при указании VUE_APP_DOCHUB_PERSONAL_TOKEN
191+
# Указываем путь до сервера аутентификации с указанием realms
192+
#VUE_APP_DOCHUB_AUTHORITY_SERVER=https://auth.slsdev.ru/realms/dochub
193+
# Указываем client id, например: dochub
194+
#VUE_APP_DOCHUB_AUTHORITY_CLIENT_ID={CLIENTID}
195+
# {PUBLIC KEY} - указываем public key, смотрим настройки keycloack
196+
#VUE_APP_DOCHUB_AUTH_PUBLIC_KEY=-----BEGIN PUBLIC KEY-----{PUBLIC KEY}-----END PUBLIC KEY-----
197+
156198
# (FB) Включение поддержки HTML тэгов в markdown документах
157199
# По умолчанию поддержка выключена (off).
158200
# VUE_APP_DOCHUB_MARKDOWN_HTML= on / off

oidc-settings.js

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import {Log, UserManager} from 'oidc-client-ts';
2+
3+
Log.setLogger(console);
4+
Log.setLevel(Log.ERROR);
5+
6+
const url = window.location.origin;
7+
8+
export const settings = {
9+
authority: process.env.VUE_APP_DOCHUB_AUTHORITY_SERVER,
10+
client_id: process.env.VUE_APP_DOCHUB_AUTHORITY_CLIENT_ID,
11+
redirect_uri: new URL('/login', url),
12+
post_logout_redirect_uri: new URL('/logout', url),
13+
response_type: 'code',
14+
scope: 'openid',
15+
response_mode: 'fragment',
16+
automaticSilentRenew: true
17+
};
18+
19+
export {
20+
Log,
21+
UserManager
22+
};

package-lock.json

Lines changed: 56 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,12 @@
3939
"core-js": "3.26.1",
4040
"dateformat": "3.0.3",
4141
"jsonata": "2.0.3",
42+
"jsrsasign": "10.8.6",
4243
"md5": "2.3.0",
4344
"mermaid": "10.6.1",
4445
"monaco-editor": "0.34.1",
4546
"mustache": "4.2.0",
47+
"oidc-client-ts": "2.4.0",
4648
"semver": "7.5.4",
4749
"stream": "0.0.2",
4850
"swagger-ui": "3.52.5",

public/documentation/docs/manual/docs/examples/sa-complex-hide-title.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ nodes:
55
# Внешняя среда
66
outside:
77
title: Внешняя среда
8+
hideBorder: true
89
outside.user: # Пользователь
910
title: Пользователь
1011
symbol: user

public/documentation/docs/manual/docs/examples/sa-group.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ links:
4444
# Внешняя среда
4545
- from: outside
4646
to: third-level
47-
style: "<->"
47+
style: "*-*"
4848
- from: outside.customer
4949
to: third-level.manager
5050
style: "<->"

public/documentation/docs/manual/docs/smartants.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,13 @@ config:
186186
![Результат на примере сложной диаграммы](@document/dochub.smartants.examples.complex.hideleaves)
187187

188188
**hideTitle** - индивидуально выключить заголовок у элемента или области:
189+
Рамку для областей можно отключить параметром - **hideBorder**:
189190
```yaml
191+
...
192+
# Внешняя среда
193+
outside:
194+
title: Внешняя среда
195+
hideBorder: true
190196
...
191197
# Внутренняя среда
192198
inside:
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
# Ролевая модель
2+
3+
Ролевая модель - позволяет разграничивать доступы к элементам архитектуры.
4+
Управление ролями пользователей происходит на стороне keycloack.
5+
6+
Для включения работы с ролевой моделью требуется установить следующий флаг:
7+
VUE_APP_DOCHUB_ROLES_MODEL=y
8+
9+
Описание ролей осуществляется в корневом файле roles.yaml
10+
Пример описания правил доступа:
11+
```
12+
roles:
13+
users:
14+
- '^kadzo.v2023.data_objects*$' // Правило представляет собой регулярное выражение
15+
- '^ecogroup.berezka.data_objects[a-zA-Z\._0-9]*$'
16+
uek:
17+
- '^kadzo\.v2023\.kb_systems[a-zA-Z\._0-9]*$'
18+
- '^ecogroup.berezka.kb[a-zA-Z\._0-9]*$'
19+
default:
20+
- '^kadzo\.v2023\.data_objects*$'
21+
```
22+
VUE_APP_DOCHUB_ROLES=file:///workspace/sberauto/roles.yaml
23+
24+
Если пользователь имеет несколько ролей, то наборы правил объединяются.
25+
26+
Для работы ролевой модели требуется дополнительно указать в файле .env несколько параметров:
27+
28+
```
29+
Указываем путь до сервера аутентификации с указанием realms
30+
VUE_APP_DOCHUB_AUTHORITY_SERVER=https://dochub-server.ru/realms/dochub
31+
Указываем client id, например: dochub
32+
VUE_APP_DOCHUB_AUTHORITY_CLIENT_ID={CLIENTID}
33+
{PUBLIC KEY} - указываем public key, смотрим настройки keycloack
34+
VUE_APP_DOCHUB_AUTH_PUBLIC_KEY=-----BEGIN PUBLIC KEY-----{PUBLIC KEY}-----END PUBLIC KEY-----
35+
```

public/documentation/docs/manual/root.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,11 @@ docs:
130130
subjects:
131131
- dochub.front
132132
source: config/deployment.md
133+
dochub.rules:
134+
location: DocHub/Руководство/Ролевая модель
135+
description: Ролевая модель
136+
type: markdown
137+
source: entities/rules.md
133138
dochub.context.source:
134139
type: plantuml
135140
source: context_source.puml

0 commit comments

Comments
 (0)