Páginas filhas
  • /users - implementação do protocolo SCIM sobre o cadastro de usuários do Protheus.

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Como criar usuários do Protheus através de Webservice

Produto:

Microsiga Protheus

Versões:

11 e 12

Passo a passo:

O Protheus permite a criação de usuários através de Webservices REST. Para tanto, deve-se configurar o serviço REST no arquivo appserver.ini do Protheus.

Para que seja possível incluir um novo cadastro, é necessário que o usuário enviado no header da requisição REST possua permissão de acesso a rotina CFGA510.

Segue abaixo um exemplo de configuração no arquivo appserver.ini. Para maiores detalhes sobre a configuração do WebService REST no Protheus, acesse:
http://tdn.totvs.com/display/tec/REST

 


Bloco de código
[HTTP] 
ENABLE=1 
PORT=8079
PATH=C:\TOTVS 12\Microsiga\help-online
Environment=P12
[ONSTART]
JOBS=HTTPJOB
REFRESHRATE=120

[HTTPJOB]
MAIN=HTTP_START
ENVIRONMENT=P12

[HTTPV11]
Enable=1
Sockets=HTTPREST

[HTTPREST] 
Port=8088
IPsBind=
URIs=HTTPURI
Security=0

[HTTPURI]
URL=/rest
PrepareIn=01
Instances=1,1
 



Para testar a conexão com o REST, acesse, pelo navegador:
- Página inicial dos serviços REST: http://localhost:8088/rest/
- Ping ao Webservice REST: http://localhost:8088/rest/ping/
- Usuários do Protheus: http://localhost:8088/rest/users/


Após o Webservice REST estar iniciado com o Protheus, deve-se enviar para este Webservice via POST um JSON com as informações abaixo:

Bloco de código
languagejs
{
  "schemas": [
    "urn:scim:schemas:core:2.0:User",
    "urn:scim:schemas:extension:enterprise:2.0:User"
  ],
  "meta": {
  },
 
"externalId":
 
"
"
, "
userName": "usuario1
", "name": { "formatted": "Usuario Um", "givenName": "Usuario
",
 
"familyName":
 
"Um
"
}, "
displayName": "Usuario Um",
  "emails": [
    {
      "value": "[email protected]",
      "
type": "work", "
primary": true
    }
  ],
  "active": true,
  "groups": [{"value":"000002"}],
  "
title
password": "usuario1",
  "
department
ext/sAMAccountName":"usuario1",
  "ext/adDomain":"XP01",
  "
password": "senhausuario1" }
urn:scim:schemas:extension:enterprise:2.0:User":{
	"manager":[
	{
		"managerid":"000000"
		
	}
	]  
  }
}


Descrição das chaves do JSON:

userName – Nome do usuário (usuário);
displayName – Nome completo do usuário (Nome completo);
e-mails – Array de objetos. O primeiro e-mail com o valor primary apontado como true é o email cadastrado para o usuário (é necessário no mínimo um email primário. Qualquer email não primário enviado é descartado);
- value – valor do email
- primary – Se é um email que será cadastrado
active - Indica se o usuário estará bloqueado ou não (true);
groups – Array de objetos contendo os códigos dos grupos de usuário ao qual o usuário está ligado;
password – Senha do usuário. Se não informada, é gerada uma senha que deverá ser alterada posteriormente pelo admin do sistema;
ext/SAMAccountName – Indica o login do usuário no SSO (caso informado, ele substituirá o valor informado no campo userName);
ext/adDomain – Domínio do usuário no SSO;
urn:scim:schemas:extension:enterprise:2.0:User – Objeto que vai indicar o superior do usuário, sendo:
- manager – Array de objetos contendo os superiores do usuário:
managerid – Código do superior do usuário

 

 



No exemplo, estamos utilizando um aplicativo Client para envio do JSON, mas pode ser utilizada uma customização do cliente para este envio.

Image Removed

 

Image Added


Ao efetuar o envio do JSON (Send), será exibido no Console do Protheus uma informação de confirmação como esta:

Image Modified

 


Observações:

Via Webservice REST, apenas é possível a criação básica do usuário. Para configurar permissões, acessos, menus, etc, é necessária a utilização do Identity.