Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

asp.net

Problemas com acesso ao Sql Server

Recommended Posts

Estou trabalhando com o seguinte código.sub sb_logar(Obj as Object,e as Eventargs) Dim str_logar as New SqlConnection("server=localhost;DataBase=Sig;User Id=;Password=;") Dim str_sql as String = "Select matricula from funcionario where login = @a and senha = @b" Dim str_resultado as String Dim obj_reader as SqlDataReader Dim cmd_logar as New SqlCommand(str_sql, str_logar) str_logar.open() Dim a as New SqlParameter("@a",SqlDbType.Varchar,10) a.value = tb_login.text cmd_logar.Parameters.Add(a) Dim b as New SqlParameter("@b",SqlDbType.Char,6) b.value = tb_senha.text cmd_logar.Parameters.Add( B) Try obj_reader = cmd_logar.ExecuteReader() str_logar.close() Catch ex as Exception response.write("ocorreu um erro") Finally if obj_reader.Read then obj_reader.close() FormsAuthentication.RedirectFromLoginPage(tb_login.Text, False) Server.Transfer("ativo/index.aspx") else aviso.visible=true aviso.text = "Login ou senha inválidos" end if end Tryend subQue tenta fazer uma conexão com o Sql Server e fazer uma consulta simples, porém sempre que tento rodar o código, é exibido o erro abaixoLogin failed for user 'NT AUTHORITY\NETWORK SERVICE'. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.Data.SqlClient.SqlException: Login failed for user 'NT AUTHORITY\NETWORK SERVICE'.Source Error: Line 14: Line 15: Dim cmd_logar as New SqlCommand(str_sql, str_logar)Line 16: str_logar.open()Line 17: Dim a as New SqlParameter("@a",SqlDbType.Varchar,10)Line 18: a.value = tb_login.text Como resolvo isto?

Compartilhar este post


Link para o post
Compartilhar em outros sites

ele está dizendo q o usuário 'NETWORK SERVICE' não tem permissão no SQL Server... verifique isso!! o certo seria o 'ASPNET'Att,Carlos

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu mudei a linha abaixo e o erro agora é outro Dim str_logar as New SqlConnection("server=desenvolvimento;DataBase=Sig;User Id=;Password=")e o erro é este abaixoLogin failed for user '(null)'. Reason: Not associated with a trusted SQL Server connection.Já tentei colocar o nome do administrador da máquina mas o erro é o mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente assimSqlConnection("Initial Catalog=Sig;Data Source=desenvolvimento;Integrated Security=SSPI;Persist Security Info=False;")e veja se funfa!!Att,Carlos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui assim

 

Server=desenvolvimento;DataBase=Sig;User=sa;Password=;

 

Valeu pela ajuda.

 

Agora outra coisa.

 

O que este comando faz?

 

FormsAuthentication.RedirectFromLoginPage(tb_login.Text, true)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele serve para quando você está usando autenticação por forms, ele autentica o usuário e redireciona para a página solicitada.

<{POST_SNAPBACK}>

Cara ai é que tá a história, estou seguindo o código do tutorial de Israel

 

http://www.projetando.net/Sections/ViewArt...spx?ArticleID=6

 

Ai meu código ficou assim

 

[web.config]

 

<?xml version="1.0" encoding="UTF-8" ?>

 

<configuration>

 

<system.web>

<compilation debug="true"/>

<globalization requestEncoding="iso-8859-1" responseEncoding="iso-8859-1" culture="pt-BR"/>

 

<authentication mode="Forms">

 

<forms name="logado" loginUrl="logar.aspx"/>

 

</authentication>

 

<authorization>

<deny users="?" />

</authorization>

 

 

</system.web>

<location path="ativo"/>

</configuration>

 

 

Página de login [logar.aspx]

 

sub sb_logar(Obj as Object,e as Eventargs)

Dim str_logar as New SqlConnection("Server=desenvolvimento;DataBase=Sig;User=sa;Password=;")

Dim str_sql as String = "Select matricula from funcionario where matricula = @a and senha = @b"

Dim obj_reader as SqlDataReader

Dim cmd_logar as SqlCommand

 

cmd_logar = New SqlCommand

 

cmd_logar.CommandType = CommandType.text

cmd_logar.CommandText = (str_sql)

cmd_logar.Connection = str_logar

 

cmd_logar.Parameters.Add("@a",SqlDbType.Varchar,10).value = tb_login.text

cmd_logar.Parameters.Add("@b",SqlDbType.Varchar,6).value = tb_senha.text

 

Try

 

str_logar.open()

obj_reader = cmd_logar.ExecuteReader(CommandBehavior.CloseConnection)

 

if obj_reader.Read() then

obj_reader.close()

FormsAuthentication.RedirectFromLoginPage(tb_login.Text, true)

else

aviso.visible=true

aviso.text = "Login ou senha inválidos"

end if

 

Catch ex as Exception

 

response.write("ocorreu um erro <b>" + ex.message +"</b>")

 

Finally

 

end Try

end sub

 

[Estrutura de pastas da aplicação]

 

Pasta Principal

Sub pasta ativo

arquivo default.aspx

 

arquivo logar.aspx

 

Pois bem, quando rodo a aplicação e mando logar, me é retornado o erro abaixo

 

Server Error in '/ativo' Application.

The resource cannot be found.

Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly.

 

Requested Url: /ativo/default.aspx

 

Version Information: Microsoft .NET Framework Version:1.1.4322.573; ASP.NET Version:1.1.4322.573

 

Estou usando o dreamweaver para desenvolver, portanto não tive como determinar que o arquivo inicial da aplicação seria o arquvio dentro do sub diretório ativo. Será que o erro é este? e como fazer para resolver este problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro parece estar acontecendo por ele não encontrar a página, não parece ser erro de código..tenta entrar no default.aspx e veja se ele redireciona para o login.aspx ai tente se logar e veja se ele retorna para o default.aspx...agora quanto a setar o arquivo inicial num sei como fazer pelo dream naum..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, se eu digitar o endereço completo, ele retorna para a página de login, ai quando eu digito login e senha ele entra na parte restrita, mas se eu digitar o endereço normal da página (login) e digitar usuário e senha e mandar logar ele gera o erroThe resource cannot be found. Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly. Requested Url: /ativo/default.aspx

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta usar esse código invés do que você está usando:'True = Cookie persistente e False = cookie temporarioFormsAuthentication.SetAuthCookie(txtUsuario.Text,false)Response.Redirect("Default.aspx")

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz assim: FormsAuthentication.SetAuthCookie(tb_login.Text,true) Server.Transfer("seguro/default.aspx")O server, tem que redirecionar para uma sub pasta. Que eu chamei de seguro, e dentro desta pasta tenho o arquivo default. Agora estou com um problema, pois quando o usuário digita o endereço completo ele tem acesso ao arquivo default.aspx, que no caso está dentro do sub diretório seguro, no qual configurei como sendo travado para usuário anonimos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo o que acontece é que seu cookie é permanente então quando você acessa da sua máquina ele sempre vai acessar, agora tente limpar seus cookies e tentar entrar na pasta digitando o endereço completo que você irá ver que não entra pois o diretório inteiro está bloqueado... caso você queira só bloquear essa pasta SEGURO deixe o web.config da raiz sem o authentication e crie um web.config dentro da pasrta SEGURO e dentro dele você coloca o authentication.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas no caso eu utilizando o o parametro location, estou dizendo que estas configuração só serão aplicadas naquele diretório.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para usar o location deve se usar da seguinte maneira:<location path="xxx.aspx"> <system.web> <autorization> <deny users="?" /> </autorization> </system.web></location>

Compartilhar este post


Link para o post
Compartilhar em outros sites

E meu está assim (web.config) completo

 

 

 

<?xml version="1.0" encoding="UTF-8" ?>

 

<configuration>

 

<system.web>

<compilation debug="true"/>

<globalization requestEncoding="iso-8859-1" responseEncoding="iso-8859-1" culture="pt-BR"/>

<authentication mode="Forms">

<forms name="situsuariologado" loginUrl="logar.aspx"/>

</authentication>

</system.web>

 

 

<location path="seguro">

<system.web>

<authorization>

<deny users="?"/>

</authorization>

</system.web>

</location>

 

</configuration>

 

E quando tento usar o comando que você me mandou, ocorre o erro abaixo

 

Thread was being aborted

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se o location abrange um diretório intereiro mas tente:<location path="/seguro">ou se num funcionar tente só com uma página para verificar se o erro é no código de autorização ou no location.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se o location abrange um diretório intereiro mas tente:

 

<location path="/seguro">

 

ou se num funcionar tente só com uma página para verificar se o erro é no código de autorização ou no location.

<{POST_SNAPBACK}>

Se colocar a barra o erro fica assim

 

Configuration Error

Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

 

Parser Error Message: <location> path attribute must be a relative virtual path. It cannot start with any of '.' '/' or '\'.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.