Plugin e1_ws_createuser
Plugin slúži na zakladanie používateľov a nastavenie kategórii pre používateľa. Plugin môže založenému používateľovi poslať e-mail s prihlasovacími údajmi a príp. ďalšími potrebnými informáciami.
Zakladá sa typ používateľa, ktorý sa môže prihlasovať do aplikácie, ale nemôže sa prihlasovať do konfigurácie na webe.
Najčastejší spôsob použitia je taký, že pomocou modelu Working with user category si zobrazím tabuľku s používateľmi (je potrebné, aby bola vo workspace aspon jedna kategória) vo forme setu a nad týmto setom urobím akcia Nový, Oprava a Zrušiť pomocou akcií Create User, Modify user category a Remove User. Takýmto spôsobom získam kompletný prístup k administrácií používateľov priamo z aplikácie.
Príklad použitia:
Inštalácia pluginu
Stiahnutie pluginu
Konfigurácia pluginu
Potrebné údaje sa dajú zadať buď do konfiguračného súboru e1_ws_createuser.config, ktorý sa ukladá vedľa pluginu alebo je možné použiť parametre v datasource (zoznam dostupných parametrov sa predvyplní po vybraní modelu pre plugin).
Nastavenie v konfiguračnom súbore:
<?xml version="1.0" encoding="utf-8" ?>
<appSettings>
<add key="e1" value="https://my.erpio.one" />
<add key="e1u" value="UserName" />
<add key="e1p" value="UserPassword" />
<add key="workspace" value="WorkspaceID" />
<add key="defaultCountry" value="SK" />
<add key="server" value="" />
<add key="port" value="" />
<add key="from" value="" />
<add key="fromName" value="" />
<add key="useCredentials" value="" />
<add key="useSslTls" value="" />
<add key="user" value="" />
<add key="password" value="" />
<add key="useHTMLBody" value="" />
<add key="catergoriesCount" value="1"/>
</appSettings>
Pre zabezpečenie prihlasovacích údajov v konfiguračnom súbore je možné od verzie 3.5 pridať kľúč:
<add key="e1h" value="hash" />
ktorý zabezpečí to, že po spustení brány sa prihlasovacie údaje v konfiguračnom údaje zahashujú (stanú sa nečitateľné ľudskému oku). Že sú údaje zahashované hovorí následne hodnota kľúča e1h
, ktorá sa zmení na hashed
.
Parametre sa dajú nastaviť aj priamo v parametroch dátového zdroja, tieto majú prednosť pred nastavením v konfiguračnom súbore. Nastavenie v parametroch:
Popis nastavení:
Názov v konfigu | Názov v parametroch | Popis |
e1 | @e1 | Cesta na server ERPIO One |
token | @token | Access token používateľa, ktorý má práva na vytváranie ďalších používateľov. Ako získať access token |
workspace | @workspace | ID Vášho workspace (môžete ho nájsť na Dashboarde) |
defaultCountry | @Country | ISO kód predvolenej krajiny, napr. SK |
server | @emailserver | SMTP server, z ktorého sa majú e-maily posielať |
port | @emailport | Port, ktorý používa SMTP server |
from | @from | E-mail odosielateľa, ktorý sa zobrazí v odoslanej správe |
fromName | @fromName | Meno odosielateľa, ktorý sa zobrazí v odoslanej správe |
useCredentials | @useCredentials | true/false – či je potrebné sa k SMTP serveru prihlasovať |
useSslTls | @useSslTls | true/false – či SMTP server používa SSL/TLS |
user | @emailuser | Prihlasovacie meno pre prihlásenie k SMTP serveru |
password | @emailpassword | Heslo pre prihlásenie k SMTP serveru |
useHTMLBody | @useHTMLBody | true/false – či odoslaná spr |
catergoriesCount | @catergoriesCount | Počet kategórií, ktoré potrebujete nastavovať. Podľa tohto nastavenia je potom v akcii možné používať parametre @CategoryX, @CategoryRightsX |
Plugin obsahuje 3 modely.
Model: Working with E1 category
Slúži na zobrazenie dostupných kategórii vo vybranom workspace.
Model: Working with E1 user
Slúži na prácu s používateľom. Pre set nad týmto modelom sú dostupné 2 akcie:
- Create User – Akcia na vytváranie používateľov – pridá nového používateľa do workspace. Ak neexistuje vôbec v ERPIO One, tak sa vytvorí so zadaným heslom. Ak uz používateľ so zadaným e-mailom v ERPIO One existuje, tak sa len pridá do vybraného workspace (heslo sa nemení). Detailnejší popis akcie nájdete nižšie v texte.
- Remove User – Akcia na vyradenie používateľov – vyradí vybraného používateľa z workspace. Má stále prístup do ERPIO One do iných workspace, v ktorých je pridaný
Model: Working with E1 user category
Zobrazí zoznam všetkých používateľov daného workspace, ktorý sú priradený aspoň jednej kategórii spolu s informáciou v ktorej kategórii má aké práva a GUID kategórie, ktoré sa používa v akciách.
Pre set nad týmto modelom je dostupná akcia:
- Modify user category – Akcia pre úpravu práv v kategóriách – slúži na úpravu práv vybraného používateľa v kategóriách
Akcia pre vytváranie používateľov
Plugin má preddefinovanú akciu CreateUser, ktorá sa ponúkne pri vytváraní akcie nad setom vychádzajúcim z tohto pluginu. Kliknutím na šípku dole sa nastavenia aplikujú na novovytváranú akciu.
Akcia pridá nasledovné predvolené parametre:
Názov parametra | Popis |
E-mailová adresa nového používateľa | |
@FirstName | Meno nového používateľa |
@LastName | Priezvisko nového používateľa |
@Password | Heslo pre nového používateľa, môže si ho následne zmeniť v aplikácii. Heslo musí spĺňať nasledovné podmienky: – dĺžka musí byť medzi 6 až 30 znakov – musí obsahovať aspoň jedno malé písmeno – musí obsahovať aspoň jednu číslicu – musí obsahovať aspoň jedno veľké písmeno |
@sendMail | true/false – či sa má odosielať e-mail |
@cc | E-mailová adresa, na ktorú sa má poslať kópia e-mailu |
@bcc | E-mailová adresa, na ktorú sa má poslať skrytá kópia e-mailu |
@subject | Predmet e-mailu |
@body | Telo správy |
@Sender | Meno odosielateľa, ktoré sa môže použiť v texte e-mailu |
@Category1 | ID kategórie pre ktorú chcem nastaviť práva |
@CategoryRights1 | Práva pre danú kategóriu: Zakázané = 0, Povolené = 1 |
Parametre @CategoryX a @CategoryRightsX je možné duplikovať podľa počtu kategórii zadaných v konfigurácii catergoriesCount/@catergoriesCount.
Príklad textu e-mailu (@body), v texte je možné použiť parametre @Email, @Password, @FirstName, @LastName, @Sender. Tieto budú vo výslednej správe nahradené hodnotami z akcie:
Dobry den,<br/>
<br/>
boli ste pozvany na vyuzivanie mobilného prístupu k firemnym udajom.<br/>
<br/>
Budete potrebovať aplikaciu ERPIO APP, stiahnite si ju z linkov pre jednotlive platformy <a href="https://erpio.app/#download">www.erpio.app</a>.<br/>
<br/>
Vase prihlasovacie udaje:<br/>
<br/>
Prihlasovacie meno - @Email<br/>
Heslo - @Password<br/>
<br/>
Predvolene heslo si zmenite priamo v aplikacii.<br/>
<br/>
V pripade potreby nas kontaktujte na support@erpio.one.<br/>
<br/>
S pozdravom<br/>
<br/>
Vas ERPIO Team
Príklad nastavení kategórií:
Získanie ID kategórie:
Na Dashboarde voľba Categories, edit na vybranú kategóriu a potom je ID vidieť v URL
Do poľa pre command SQL môžete zadať SQL príkaz, ktorý sa vykoná voči SQL pripojeniu brány.
TO DO akcia pre editáciu user vs category
Password Generator
CREATE VIEW [dbo].[RandomNoise]
AS
-- helper view for accessing CRYPT_GEN_RANDOM from UDF
-- see dbo.GeneratePassword for details about 2048 value
SELECT CRYPT_GEN_RANDOM(2048) Bytes
CREATE FUNCTION [dbo].[GeneratePassword](@letters INT = NULL, @numbers INT = NULL, @symbols INT = NULL)
RETURNS VARCHAR(256)
AS
BEGIN
-- actual defaults
IF @letters IS NULL SET @letters = 6
IF @numbers IS NULL SET @numbers = 3
IF @symbols IS NULL SET @symbols = 1
IF @letters < 0 SET @letters = 0
IF @numbers < 0 SET @numbers = 0
IF @symbols < 0 SET @symbols = 0
IF @letters > 256 SET @letters = 256
IF @numbers > 256 SET @numbers = 256
IF @symbols > 256 SET @symbols = 256
DECLARE @letterSet VARCHAR(52) = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',
@numberSet VARCHAR(10) = '0123456789',
@symbolSet VARCHAR(20) = '!@#$%&*+', --'!@#$%^&*()_+-=[]{}',
@pwdLen INT = @letters + @numbers + @symbols
IF @pwdLen > 256 SET @pwdLen = 256
-- 256 is max possible password length
DECLARE @pwd VARCHAR(256) = ''
-- 2048 = (4 bytes rnd set + 4 bytes rnd position in set) * 256 max password length
DECLARE @noise VARBINARY(2048) = (SELECT n.Bytes FROM dbo.RandomNoise n)
DECLARE @i INT = 0
WHILE @i < @pwdLen
BEGIN
SET @i = @i + 1
-- [0,1)
DECLARE @who FLOAT = (CAST(CAST(SUBSTRING(@noise, @i , 4) AS INT) AS FLOAT) + 2147483648.0) / 4294967296.0,
@pos FLOAT = (CAST(CAST(SUBSTRING(@noise, @i + 4, 4) AS INT) AS FLOAT) + 2147483648.0) / 4294967296.0
IF @who < (@letters / CAST(@letters + @numbers + @symbols AS FLOAT))
BEGIN
SET @pwd = @pwd + SUBSTRING(@letterSet, CAST(@pos * LEN(@letterSet) + 1 AS INT), 1)
SET @letters = @letters - 1
END
ELSE
IF @who < ((@letters + @numbers) / CAST(@letters + @numbers + @symbols AS FLOAT))
BEGIN
SET @pwd = @pwd + SUBSTRING(@numberSet, CAST(@pos * LEN(@numberSet) + 1 AS INT), 1)
SET @numbers = @numbers - 1
END
ELSE
BEGIN
SET @pwd = @pwd + SUBSTRING(@symbolSet, CAST(@pos * LEN(@symbolSet) + 1 AS INT), 1)
SET @symbols = @symbols - 1
END
END
RETURN @pwd
END