Ir para conteúdo
Anúncios Publicitários
Antonio Oliveira

Senha de usuario ?<b> (Resolvido)</b>

Recommended Posts

Bem, a pedidos, segue uma solução básica de como resolver a conexão em ASP.

Basicamente, esse código pode ser usado em um webservice para ser acessado via Ajax, não sei se é o mais recomendado, mas é no minimo interessante.

Dentro da tag ASP ( "<% %>" ), vamos usar uma variável para instanciar uma classe "Login" dentro da DLL CPConnect (CPConnect.dll), que fica mais ou menos assim:

<%
'DECLARANDO VARIÁVEL'
Dim valida

'INSTANCIANDO A CLASSE LOGIN DENTRO DO CPConnect PARA valida'
Set valida = CreateObject("CPConnect.Login")

%>

A partir de agora, você terá um objeto com as funcionalidades para autenticar usuários do RM.

O método/função para realizar autenticação é o GetAccessParams().

E entre seus parâmetros tem os "SETTERS" e "GETTERS" [ SET e GET ].

Então, antes de mostrar a chamada da função já parametrizada é importante entender também o que cada parâmetro faz:

1º Parametro - Booleano / TRUE ou FALSE

2º - String / Nome do Schema do BD

3º - String / usuário a ser autenticado

4º - String / senha do usuário a ser autenticado

5º - String / sigla do sistema

6º - setter / variável assumirá o ESTADO que confirma se o usuário foi autenticado

7º - setter / variável assumirá o ESTADO com o código de erro da autenticação (se for 0[zero], não houve erro)

8º - setter / variável assumirá o ESTADO com a String do erro da autenticação (se vazio [null], não houve erro)

Logo podemos criar um escopo de variáveis e construir a função:

Dim valida
Dim resultado
Dim a,b,c
Dim user
Dim senha    
Dim verificador
verificador = 0

user = "usuario1"
senha = "password123"

Set valida = CreateObject("CPConnect.Login")
Resultado = valida.GetAccessParams(false, "BDRMEDUCACIONAL", user, senha, "f" ,a ,b ,c)

if b = 0 then
    verificador = 1	
end if 

Algumas observações:

- As variáveis foram declaradas como PRIVADAS (Dim no ASP), mas não necessariamente deve assumir este encapsulamento, depende da aplicação;

- As variáveis user e senha poderiam, por exemplo, serem passadas por parâmetro HTTP GET ou POST;

- O parâmetro da STRING "F", ou sigla do sistema (5º parâmetro), deve ser referente ao sistema que você pretende validar este usuário, no caso do F, representa o FLUXUS (Módulo Financeiro), utilizado para permitir somente os alunos que estão com as contas em dia (por exemplo), logo, os usuários devem estar devidamente parametrizado no módulo que pretende referenciar.

[ Para entender melhor sobre SIGLA do SISTEMA, olhar acima na postagem que comento ter encontrado a solução - POST #22]

- As variáveis Resultado e verificador poderiam ser meramente substituídas

Resta agora incluir isto dentro de um escopo da sua regra de negocio.

Fechou?

Dúvidas a respeito de alguma coisa do código, só perguntar!

Editado por thelimarenan

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso ai meu grande Renan, estou chegando la! vamos que vamos

assim que resolver minha situacao com a conexao com a base de dados eu posto por aqui

Bem, a pedidos, segue uma solução básica de como resolver a conexão em ASP.

Basicamente, esse código pode ser usado em um webservice para ser acessado via Ajax, não sei se é o mais recomendado, mas é no minimo interessante.

Dentro da tag ASP ( "<% %>" ), vamos usar uma variável para instanciar uma classe "Login" dentro da DLL CPConnect (CPConnect.dll), que fica mais ou menos assim:

<%
'DECLARANDO VARIÁVEL'
Dim valida

'INSTANCIANDO A CLASSE LOGIN DENTRO DO CPConnect PARA valida'
Set valida = CreateObject("CPConnect.Login")

%>

A partir de agora, você terá um objeto com as funcionalidades para autenticar usuários do RM.

O método/função para realizar autenticação é o GetAccessParams().

E entre seus parâmetros tem os "SETTERS" e "GETTERS" [ SET e GET ].

Então, antes de mostrar a chamada da função já parametrizada é importante entender também o que cada parâmetro faz:

1º Parametro - Booleano / TRUE ou FALSE

2º - String / Nome do Schema do BD

3º - String / usuário a ser autenticado

4º - String / senha do usuário a ser autenticado

5º - String / sigla do sistema

6º - setter / variável assumirá o ESTADO que confirma se o usuário foi autenticado

7º - setter / variável assumirá o ESTADO com o código de erro da autenticação (se for 0[zero], não houve erro)

8º - setter / variável assumirá o ESTADO com a String do erro da autenticação (se vazio [null], não houve erro)

Logo podemos criar um escopo de variáveis e construir a função:

Dim valida
Dim resultado
Dim a,b,c
Dim user
Dim senha    
Dim verificador
verificador = 0

user = "usuario1"
senha = "password123"

Set valida = CreateObject("CPConnect.Login")
Resultado = valida.GetAccessParams(false, "BDRMEDUCACIONAL", user, senha, "f" ,a ,b ,c)

if b = 0 then
    verificador = 1	
end if 

Algumas observações:

- As variáveis foram declaradas como PRIVADAS (Dim no ASP), mas não necessariamente deve assumir este encapsulamento, depende da aplicação;

- As variáveis user e senha poderiam, por exemplo, serem passadas por parâmetro HTTP GET ou POST;

- O parâmetro da STRING "F", ou sigla do sistema (5º parâmetro), deve ser referente ao sistema que você pretende validar este usuário, no caso do F, representa o FLUXUS (Módulo Financeiro), utilizado para permitir somente os alunos que estão com as contas em dia (por exemplo), logo, os usuários devem estar devidamente parametrizado no módulo que pretende referenciar.

[ Para entender melhor sobre SIGLA do SISTEMA, olhar acima na postagem que comento ter encontrado a solução - POST #22]

- As variáveis Resultado e verificador poderiam ser meramente substituídas

Resta agora incluir isto dentro de um escopo da sua regra de negocio.

Fechou?

Dúvidas a respeito de alguma coisa do código, só perguntar!

Compartilhar este post


Link para o post
Compartilhar em outros 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!

estou com mesmo problema fazendo em asp. como foi que vc resolveu isso

Compartilhar este post


Link para o post
Compartilhar em outros 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!

estou com mesmo problema fazendo em asp. como foi que vc resolveu isso

Talvez a disposição do arquivo CPConnect não esteja no local correto.

Ele deve estar no diretório C:/

Compartilhar este post


Link para o post
Compartilhar em outros sites

estou com mesmo problema fazendo em asp. como foi que vc resolveu isso

A alternativa que estou utilizando é passar para o método "GetAccessParams()" o primeiro parâmetro como "true". Neste caso é necessário criar e configurar um arquivo para a string de conexão com o banco: Universal Data Link (.udl).

Compartilhar este post


Link para o post
Compartilhar em outros sites

A alternativa que estou utilizando é passar para o método "GetAccessParams()" o primeiro parâmetro como "true". Neste caso é necessário criar e configurar um arquivo para a string de conexão com o banco: Universal Data Link (.udl).

ja criei o .udl ja registrei e ainda continua com problema na conxao da base de dados

ex:

Set valida = CreateObject("CPConnect.Login")
Resultado = valida.GetAccessParams(false, "CorporeRMCom", user, senha, "F" ,a ,b ,c)
inclusive coloquei a string igual a .UDL

Compartilhar este post


Link para o post
Compartilhar em outros sites

A alternativa que estou utilizando é passar para o método "GetAccessParams()" o primeiro parâmetro como "true". Neste caso é necessário criar e configurar um arquivo para a string de conexão com o banco: Universal Data Link (.udl).

amigo, fiz que vc pediu agora dando esse erro

'naoo Erro desconhecido! Não foi possível ler a string de conexão com o Banco de Dados a partir do arquivo "C:\Windows\CorporeRMCom.UDL" Não foi possível converter o arquivo "C:\Windows\CorporeRMCom.UDL" em uma string de conexão!

Compartilhar este post


Link para o post
Compartilhar em outros sites

amigo, fiz que vc pediu agora dando esse erro

'naoo Erro desconhecido! Não foi possível ler a string de conexão com o Banco de Dados a partir do arquivo "C:\Windows\CorporeRMCom.UDL" Não foi possível converter o arquivo "C:\Windows\CorporeRMCom.UDL" em uma string de conexão!

Boa tarde.

Deve ser criado e configurado o arquivo CorporeRMCom.UDL no diretorio "C:\Windows\" com permissão para o usuário que está executando a aplicação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde.

Deve ser criado e configurado o arquivo CorporeRMCom.UDL no diretorio "C:\Windows\" com permissão para o usuário que está executando a aplicação.

criei como administrador;

vou da as permissoes

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde.

Deve ser criado e configurado o arquivo CorporeRMCom.UDL no diretorio "C:\Windows\" com permissão para o usuário que está executando a aplicação.

PESSOAL VENHO AQUI INFORMAR QUE MEUS TESTE FUNCIONARAM. FORUM DE PARABENS.

EM BREVE VENHO AQUI POSTAR NEWS SOLUCOES PARA TOTOVS VIA APP

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoal,

Vi esse post e tentei implementar o código usando linguagem VB. Estou fazendo no Visual Studio 2010. Pensei em criar como um objeto para depois chamar de qualquer outro formulário. Só que o código está apresentando alguns problemas. Segue abaixo o modelo em VB e seus erros. Se alguém puder me ajudar, agradeceria muito, pois faz muito, muito tempo mesmo que estou procurando uma forma de fazer autenticação utilizando os dados do próprio usuário do sistema.

Imports Microsoft.VisualBasic
Imports System
Imports System.Windows.Forms
Imports CPConnect

Namespace AuthCorporeRM
    Partial Public Class objEfetuaLogin
        Inherits Form

        Public Sub New()
            InitializeComponent()
        End Sub

        'Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs)
        Public Function Logar(ByVal pLogin as String, ByVal pSenha as String)
            Dim login As LoginClass = New LoginClass()
            Dim a, b, c As Object
            b = login.ErrorCode
            c = login.ErrorMessage
            a = Nothing
            'login.GetAccessParams(False, "CorporeRM", "jmoura", "34de4", "F", a, b, c)
            login.GetAccessParams(False, "CorporeRM", pLogin, pSenha, "F", a, b, c)
            MessageBox.Show(b.ToString())
            If b <> CObj(0) Then MessageBox.Show(c.ToString())
        End Function
    End Class

End Namespace

Erros:

Error	60	Type 'Form' is not defined.	I:\APLICAÇÕES WEB\PORTAL\app_code\objetos\objEfetuaLogin.vb	8	18	I:\APLICAÇÕES WEB\PORTAL\

------------

Error	61	'InitializeComponent' is not declared. It may be inaccessible due to its protection level.	I:\APLICAÇÕES WEB\PORTAL\app_code\objetos\objEfetuaLogin.vb	11	13	I:\APLICAÇÕES WEB\PORTAL\

------------
Error	62	Type 'LoginClass' is not defined.	I:\APLICAÇÕES WEB\PORTAL\app_code\objetos\objEfetuaLogin.vb	15	26	I:\APLICAÇÕES WEB\PORTAL\

------------
Error	63	'MessageBox' is not declared. It may be inaccessible due to its protection level.	I:\APLICAÇÕES WEB\PORTAL\app_code\objetos\objEfetuaLogin.vb	21	13	I:\APLICAÇÕES WEB\PORTAL\

------------
Error	64	'MessageBox' is not declared. It may be inaccessible due to its protection level.	I:\APLICAÇÕES WEB\PORTAL\app_code\objetos\objEfetuaLogin.vb	22	34	I:\APLICAÇÕES WEB\PORTAL\

------------

 

Grato,

 

Ilano.

Editado por ilanocf

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

×

Important Information

Usando este site, você concorda com nossos Termos de Uso.