Jump to content
Antonio Oliveira

Senha de Usuário ? (Resolvido)

Recommended Posts

Sem chance Antonio... isso tem uma criptografia que só a galera da TOTVS tem o fonte. Um dia até consegui um fonte de um dos sistemas (não me perguntem como e também não tenho mais. Achei melhor deletar.), e dei uma olhada, mas sem chance, nada... é o tipo de coisa que tem que ficar guardado a sete chaves mesmo.

Share this post


Link to post
Share on other sites

Antonio,

Se vc estiver querendo autenticar algum aplicativo de terceiro, tente estudar/usar a DLL CPConnect dentro da pasta: C:\CorporeRM\API

Usando essa dll vc consegue autenticar um aplicativo feito por você.

Coloquei um exemplo. ele tá meio bagunçado mais dá pra entender.

1. Adicione a referencia para CPconnect.dll

using System;
using System.Windows.Forms;
using CPConnect;

namespace AuthCorporeRM
{
public partial class Form1 : Form
{
	public Form1()
	{
		InitializeComponent();
	}

	private void Form1_Load(object sender, EventArgs e)
	{
		LoginClass login = new LoginClass();
		object a,b,c;
		b = login.ErrorCode;
		c = login.ErrorMessage;
		a = null;
		login.GetAccessParams(false, "CorporeRM", "jmoura", "34de4", "F",ref a, ref b, ref c);

		//O código '0' indica que a conexão foi efetuada com sucesso.

		MessageBox.Show(b.ToString());
		if (b != (object)0 )
		MessageBox.Show(c.ToString());


	}
}
}

Abraço,

Jamensson

  • Like 1

Share this post


Link to post
Share on other sites

Uai, estou errado na minha afirmação ? dá pra usar essa DLL para autenticar normalmente ? Claro que ela usará a rotina de leitura da senha no banco, não dando acesso a criptografia do campo, mas ao menos dá pra usar... hummmmm bom, já é alguma coisa.

Share this post


Link to post
Share on other sites
Antonio,

Se vc estiver querendo autenticar algum aplicativo de terceiro, tente estudar/usar a DLL CPConnect dentro da pasta: C:\CorporeRM\API

Usando essa dll vc consegue autenticar um aplicativo feito por você.

Coloquei um exemplo. ele tá meio bagunçado mais dá pra entender.

1. Adicione a referencia para CPconnect.dll

using System;
using System.Windows.Forms;
using CPConnect;

namespace AuthCorporeRM
{
public partial class Form1 : Form
{
	public Form1()
	{
		InitializeComponent();
	}

	private void Form1_Load(object sender, EventArgs e)
	{
		LoginClass login = new LoginClass();
		object a,b,c;
		b = login.ErrorCode;
		c = login.ErrorMessage;
		a = null;
		login.GetAccessParams(false, "CorporeRM", "jmoura", "34de4", "F",ref a, ref b, ref c);

		//O código '0' indica que a conexão foi efetuada com sucesso.

		MessageBox.Show(b.ToString());
		if (b != (object)0 )
		MessageBox.Show(c.ToString());


	}
}
}

Abraço,

Jamensson

Excelente Jamensson, este post vale ouro!!! Eu estava procurando isso há tempos... Através deste método (GetAccessParams) é possível simular o login do RM em um determinado aplicativo. Agora, quero ir além: como verificar se o usuário pertence a determinado perfil (ex.: quero diferenciar Alunos de Professores). Alguém sabe como fazer isso?
  • Like 1

Share this post


Link to post
Share on other sites

Olá pessoal.

Que bom q vocês estão gostando da dica.

Estou preparando outra que diz como chamar as janelas do RM na sua aplicação. Ex.: chamar a tela de cadastro de Contas Caixa através de uma aplicação .Net ou Delphi. Mas isso é assunto pra outro Tópico.

Abraço.

  • Like 1

Share this post


Link to post
Share on other sites
Excelente Jamensson, este post vale ouro!!! Eu estava procurando isso há tempos... Através deste método (GetAccessParams) é possível simular o login do RM em um determinado aplicativo. Agora, quero ir além: como verificar se o usuário pertence a determinado perfil (ex.: quero diferenciar Alunos de Professores). Alguém sabe como fazer isso?

Ola!

Alguem tem esta solução para delphi 7 ?

Share this post


Link to post
Share on other sites
Olá pessoal.

Que bom q vocês estão gostando da dica.

Estou preparando outra que diz como chamar as janelas do RM na sua aplicação. Ex.: chamar a tela de cadastro de Contas Caixa através de uma aplicação .Net ou Delphi. Mas isso é assunto pra outro Tópico.

Abraço.

Fala galera.... tô esperando esse tópico.... rsss

Share this post


Link to post
Share on other sites
Fala galera.... tô esperando esse tópico.... rsss

Vixi.. já tinha até me esquecido dessa promessa. rsrsrs

Vou preparar hoje a noite uma aplicação exemplo e vou colocar no forum...

:)

Abraço.

Share this post


Link to post
Share on other sites

Tópico Fechado / Resolvido.

O mesmo foi marcado como resolvido por não haver mais nada a resolver, pelo mesmo ter ficado parado por muito tempo sem o membro que o iniciou voltar a participar ou comentar, ou por não ter mais comentários de nenhum outro membro do Fórum.

Qualquer coisa, alguma dúvida ou questionamento sobre o assunto, pode postar novamente que analisaremos, ou se preferir, favor entrar em contato com a administração ou moderação, através do link: Administradores e Moderadores que retiraremos o STATUS de RESOLVIDO do seu título.

Se preferir, mande um email para admin@forumrm.com.br solicitando.

Share this post


Link to post
Share on other sites
Vixi.. já tinha até me esquecido dessa promessa. rsrsrs

Vou preparar hoje a noite uma aplicação exemplo e vou colocar no forum...

:)

Abraço.

Valeu brother.... abração...

Share this post


Link to post
Share on other sites

using System;
using System.Windows.Forms;
using CPConnect;

namespace AuthCorporeRM
{
public partial class Form1 : Form
{
	public Form1()
	{
		InitializeComponent();
	}

	private void Form1_Load(object sender, EventArgs e)
	{
		LoginClass login = new LoginClass();
		object a,b,c;
		b = login.ErrorCode;
		c = login.ErrorMessage;
		a = null;
		login.GetAccessParams(false, "CorporeRM", "jmoura", "34de4", "F",ref a, ref b, ref c);

		//O código '0' indica que a conexão foi efetuada com sucesso.

		MessageBox.Show(b.ToString());
		if (b != (object)0 )
		MessageBox.Show(c.ToString());


	}
}
}

Bom, primeiramente obrigado por disponibilzar o código. No entanto, estou recebendo uma mensagem de erro quando tento instânciar a classe 'LoginClass'.

Interop type 'CPConnect.LoginClass' cannot be embedded. Use the applicable interface instead.

A versão da CPConnect.dll que foi referenciada é a 11.20.0.1

Alguém sabe como resolver?

Share this post


Link to post
Share on other sites

Olá Mundstein,

Para resolver isso, desmaque a opção Embed Interop Type nas propriedades da referência.

Veja se funciona e nos dê um retorno.

Atte.,

Jamensson Moura

Bom, primeiramente obrigado por disponibilzar o código. No entanto, estou recebendo uma mensagem de erro quando tento instânciar a classe 'LoginClass'.

Interop type 'CPConnect.LoginClass' cannot be embedded. Use the applicable interface instead.

A versão da CPConnect.dll que foi referenciada é a 11.20.0.1

Alguém sabe como resolver?

Share this post


Link to post
Share on other sites

Ola!

Alguem tem esta solução para delphi 7 ?

Ola!

conseguiu a solução para Delphi? também estou procurando para Delphi.

Share this post


Link to post
Share on other sites

Antonio,

Se vc estiver querendo autenticar algum aplicativo de terceiro, tente estudar/usar a DLL CPConnect dentro da pasta: C:\CorporeRM\API

Usando essa dll vc consegue autenticar um aplicativo feito por você.

Coloquei um exemplo. ele tá meio bagunçado mais dá pra entender.

1. Adicione a referencia para CPconnect.dll

using System;
using System.Windows.Forms;
using CPConnect;

namespace AuthCorporeRM
{
public partial class Form1 : Form
{
	public Form1()
	{
		InitializeComponent();
	}

	private void Form1_Load(object sender, EventArgs e)
	{
		LoginClass login = new LoginClass();
		object a,b,c;
		b = login.ErrorCode;
		c = login.ErrorMessage;
		a = null;
		login.GetAccessParams(false, "CorporeRM", "jmoura", "34de4", "F",ref a, ref b, ref c);

		//O código '0' indica que a conexão foi efetuada com sucesso.

		MessageBox.Show(b.ToString());
		if (b != (object)0 )
		MessageBox.Show(c.ToString());


	}
}
}

Abraço,

Jamensson

Ola!

Conhece esta solução para Delphi?

Share this post


Link to post
Share on other sites

Boa Tarde Galera,

Aqui fizemos esta conexão utilizando ASP.

Deu tudo certo e funciona perfeitamente.

Sem querer ‘reavivar’ o tópico, mas já o ‘reavivando’,

Ultimamente estamos com um problema para autenticar novos usuários no nosso sistema.

Desconfiamos que seja algo no RM, mas não achamos de jeito nenhum a origem.

Como sabem, o método getAcessparams() pede diversos parâmetros e os que nos iluminou uma pequena pista do problema foram os parâmetros ‘a’, ‘b’ e ‘c’.

Bem, na verdade a letra ‘a’ em si retorna um resultado apenas se o usuário realmente autenticar, ou seja, se o login e senha estiverem ok, permissões e etc...

No caso do ‘b’, se ele retornar qualquer valor acima de 0, significa que houve algum erro, logo, retornando 0, o usuário autenticará.

Nosso grande problema vem ai... Podemos identificar pelo parâmetro ‘c’ o significado do código de erro no ‘b’.

Por exemplo: se b = 5, c é igual a = “Usuário ou Senha inválidos! O usuário ou senha utilizados para login não são válidos para acesso ao sistema. Verifique se o código do usuário está digitado corretamente e redigite sua senha.Verifique se a tecla CAPS LOCK não está pressionada acidentalmente.”

Porem o erro que está nos impedindo é o ERRO de numero 11, ou seja,

Usuário não tem permissão de acesso a este sistema!

Verifique com o supervisor suas permissões de acesso aos sistemas RM

De principio parece fácil, mas pelas configurações diretamente do RM, as permissões são exatamente as mesmas atribuídas a outros usuários com a mesma alçada. E de jeito nenhum achamos diferença nas tabelas do CorporeRM. Estamos a procura de estudar a fundo esta dll e saber o que ela realmente autentica além do login e senha.

Se alguém tiver uma pista da origem deste erro, digo, que permissão ele compara para atribuir o login ao usuário, por favor nos ajude.

Bem galera, espero ter sido claro,

Grande abraço a todos

Renan Maciel

Share this post


Link to post
Share on other sites

Galera consegui resolver minha duvida.

hahaha FACIL FACIL como imaginei que fosse.

seguinte:

o parametro "F" de getAcessparams(), segundo os exemplos citados acima pelo Jamensson, foi a grande chave da descoberta.

Aqui, fizemos em ASP como também disse acima, porem a funcionalidade da função/metodo é a mesma.

Este parâmetro "F" nada mais é do que podemos encontrar na tabela GSISTEMA, no atributo CODSISTEMA.

OU SEJA, bastava disponibilizar o acesso no FLUXUS.

dá até vergonha do perrengue que passamos.

Colegas, embora tenha descoberto sozinho com meus colegas aqui da FACULDADE em que trabalho, agradeço a oportunidade e o espaço para este debate.

ATT,

RENAN MACIEL

Share this post


Link to post
Share on other sites

Aee Renan, é isso ai. É uma área um pouco complicada essa, dos logins por fora do sistema, mas temos colaboradores, como o Jamensson que ajuda por aqui, fora outros que dificilmente comentam, e estamos aqui pra isso.

Que bom que resolveu !! O mais importante é compartilhar o conhecimento, trocar ideias, e aprender sempre mais.

Qualquer coisa, estamos ai :)

Share this post


Link to post
Share on other sites

Boa tarde pessoal.

Recentemente iniciei um projeto de integração com o RM.

A solução apresentada acima seria ideal para o meu caso. Porém estou obtendo o seguinte erro:

Erro 12 - Não foi possível conectar-se ao Banco de Dados! - Verifique se o cabo de rede está devidamente encaixado; - Verifique se o servidor de banco de dados está ligado e funcionando; - Verifique se o serviço de banco de dados está ativo; - Verifique se a base de dados existe e pode ser utilizada normalmente; - Verifique se o usuário utilizado para acessar as tabelas de controle do Corpore existe e possui permissão de contectar-se ao banco de dados. An error occurred while attempting to initialize the Borland Database Engine (error $2108)

Porém o alias passado no parametro está correto, e o serviço de banco esta funcionando normalmente (o aplicativo RM conecta normalmente).

Alguma sugestão?

Obrigado!

Share this post


Link to post
Share on other sites

amigo vc tem essa solucao autenticar usuario no asp. tem como me enviar um exemplo pq ai mudo para jquery mobile.

**** EMAIL REMOVIDO ****

Boa Tarde Galera,

Aqui fizemos esta conexão utilizando ASP.

Deu tudo certo e funciona perfeitamente.

Sem querer ‘reavivar’ o tópico, mas já o ‘reavivando’,

Ultimamente estamos com um problema para autenticar novos usuários no nosso sistema.

Desconfiamos que seja algo no RM, mas não achamos de jeito nenhum a origem.

Como sabem, o método getAcessparams() pede diversos parâmetros e os que nos iluminou uma pequena pista do problema foram os parâmetros ‘a’, ‘b’ e ‘c’.

Bem, na verdade a letra ‘a’ em si retorna um resultado apenas se o usuário realmente autenticar, ou seja, se o login e senha estiverem ok, permissões e etc...

No caso do ‘b’, se ele retornar qualquer valor acima de 0, significa que houve algum erro, logo, retornando 0, o usuário autenticará.

Nosso grande problema vem ai... Podemos identificar pelo parâmetro ‘c’ o significado do código de erro no ‘b’.

Por exemplo: se b = 5, c é igual a = “Usuário ou Senha inválidos! O usuário ou senha utilizados para login não são válidos para acesso ao sistema. Verifique se o código do usuário está digitado corretamente e redigite sua senha.Verifique se a tecla CAPS LOCK não está pressionada acidentalmente.”

Porem o erro que está nos impedindo é o ERRO de numero 11, ou seja,

Usuário não tem permissão de acesso a este sistema!

Verifique com o supervisor suas permissões de acesso aos sistemas RM

De principio parece fácil, mas pelas configurações diretamente do RM, as permissões são exatamente as mesmas atribuídas a outros usuários com a mesma alçada. E de jeito nenhum achamos diferença nas tabelas do CorporeRM. Estamos a procura de estudar a fundo esta dll e saber o que ela realmente autentica além do login e senha.

Se alguém tiver uma pista da origem deste erro, digo, que permissão ele compara para atribuir o login ao usuário, por favor nos ajude.

Bem galera, espero ter sido claro,

Grande abraço a todos

Renan Maciel

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.