Ir para conteúdo

Senha de Usuário ? (Resolvido)


Antonio Oliveira

Posts Recomendados


  • Tópicos Que Criei:  1
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  6
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  42
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  33

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
Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  2
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  12
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  80
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

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!

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  2
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  12
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  80
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

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

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  885
  • Tópicos/Dia:  0.13
  • Meu Conteúdo:  8.801
  • Conteúdo/Dia:  1.34
  • Reputação:   289
  • Pontos/Conquistas:  106.261
  • Conteúdo Resolvido:  0
  • Dias Ganho:  185
  • Status:  Online
  • Idade:  51
  • Dispositivo:  Windows

André... só peço que não poste mais emails e/ou contatos aqui no fórum, ok? Por favor, se não leu, leia as regras.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  1
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  6
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  42
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  33

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:/

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  0
  • Tópicos/Dia:  0
  • Meu Conteúdo:  3
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  15
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

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).

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  2
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  12
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  80
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

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
Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  2
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  12
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  80
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

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!

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  0
  • Tópicos/Dia:  0
  • Meu Conteúdo:  3
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  15
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

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.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  2
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  12
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  80
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

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

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  2
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  12
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  80
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

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

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  885
  • Tópicos/Dia:  0.13
  • Meu Conteúdo:  8.801
  • Conteúdo/Dia:  1.34
  • Reputação:   289
  • Pontos/Conquistas:  106.261
  • Conteúdo Resolvido:  0
  • Dias Ganho:  185
  • Status:  Online
  • Idade:  51
  • Dispositivo:  Windows

Link para comentar
Compartilhar em outros sites

  • 2 anos depois...

  • Tópicos Que Criei:  7
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  12
  • Conteúdo/Dia:  0.00
  • Reputação:   11
  • Pontos/Conquistas:  148
  • Conteúdo Resolvido:  0
  • Dias Ganho:  6
  • Status:  Offline
  • Idade:  53
  • Dispositivo:  Windows

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
Link para comentar
Compartilhar em outros sites

  • Jair - Fórmula mudou o título para Senha de Usuário ? (Resolvido)

Participe da conversa

Você pode postar agora, e se registrar mais tarde. Se você tiver uma conta, faça o login agora para postar com sua conta.

Visitante
Responder esse tópico

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Seu link foi automaticamente inserido no corpo do post.   Exibir como um link

×   Seu conteúdo anterior foi restaurado.   Limpar conteúdo do editor

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

×
×
  • Criar Novo...

Informação Importante

Usando este site, você concorda com nossos Termos de Uso e nossa Política de Privacidade.