ASP.NET Tutorial 6 – VideoClube #1
Depois da teoria dos últimos tutoriais, como prometido, hoje vamos começar a trabalhar no nosso projecto de um Clube de Vídeo. Nestes tutoriais irei escrever mais código, mostrar mais imagens e explicar somente os pontos que acho serem necessários.
Vamos então ao que interessa.
Para começar abram o Visual Studio: Cliquem em File->New->Project e escolham um projecto ASP.NET Web Application. Nesta altura definimos a localização do nosso projecto.
Depois de criado projecto a primeira coisa a fazer é apagar a página default.aspx, porquê?
Porque vamos usar uma Master Page que será a mãe de todas as nossas páginas.
Adicionar uma Master Page: Em cima do projecto, botão direito do rato, add->new-item e escolhemos uma Master Page o nome será “Site.master”
Agora vamos começar a definir o nosso layout: Primeiro arrastamos uma tabela HtML (está na toolbox) para a Master Page
Como devem ter reparado esta Master Page tem um controlo chamado “ContentPlaceHolder1”, este controlo serve para definir a área onde as páginas derivadas da Master Pager irão aparecer (um género de iframe).
Vamos colocar o ContentPlaceHolder1 no centro da tabela HTML e colocar o alinhamento vertical dessa célula ao topo. Inserimos uma nova linha no topo da tabela. Vamos também fazer o merge da 2ª linha da coluna da direita com a 3ª linha e o mesmo com a coluna da esquerda.
Agora vamos ás pastas: Para adicionar uma nova pasta, botão direito do rato em cima do projecto add->New Folder
Vamos adicionar para já 4 pastas, “Img”,”Scripts”,”Admin”,”User “.
- A pasta “img” vai conter as imagens do projecto.
- A pasta “Scripts” vai conter os ficheiros javascript.
- As pastas “Admin” e “User” vão ser para criar regras de acesso no site.
Adicionar imagem: Para adicionar imagens ao projecto, clicamos com o botão direito do rato em cima da pasta “img” e add->Existing Item. Procuramos a imagem no disco e adicionamos.
Agora arrastamos a imagem importada para o canto superior esquerdo do nosso layout ou seja a primeira célula da tabela. Adicionamos um texto com o nome do nosso site no topo centro e um rodapé.
O que fizemos até agora.
Depois do Layout vamos tratar do nosso Login. Para isso vamos á nossa toolbox e adicionamos um controlo LoginView na linha em baixo á imagem, este controlo permite definir o que vemos quando o utilizador está autenticado ou anónimo.
Existem dois templates neste controlo “Anonymous” e”LoggedIn”. Adicionamos ao template “Anonymous” um controlo Login e ao LoggedIn adicionamos o texto “Bem-vindo: ” e á frente adicionamos um controlo LoginName (Mostra o nome do utilizador) e também um controlo LoginStatus (permite fazer Logout).
Vamos colocar o controlo Login mais bonito, clicamos em cima dele e na seta que aparece e escolhemos “Auto Format” , depois escolhemos o tema Profissional. Podemos também ir às propriedades do controlo e alterar todas as labels para Português, deixo isso para vocês explorarem.
Agora vem a parte complicada (ou não), os acessos! A Microsoft fez um grande trabalho e o Membership Provider é uma das pérolas do ASP.NET, é tão simples de configurar que até chateia.
Para começar basta ir ao menu Project->ASP.NET Configuration
Irá aparecer-vos a página de administração onde podemos configurar utilizadores, acessos, grupos, etc.
Clicamos no link “Security” e vamos para a página de configuração, onde temos de primeiro fazer a alteração do tipo de atutenticação de” Windows” para “Forms”. Clicamos no link Select Authentication Type e escolhemos a opção “From the internet” e clicamos Done.
Está feito… Dificil hein?! Neste momento temos disponível esta ferramenta para criar utilizadores, acessos, profiles, etc.
Nota: Esta ferramenta vem configurada com os padrões de segurança, uma das coisas que mudo sempre é a password strength, não gosto de passwords muito complexas com letras e não alfanuméricos.
Para resolver isto basta colocar um pedaço de código no Web.config onde podemos fazer o override dos defaults.
Podem ver como neste blog.
Continuando na ferramenta e depois destas alterações no Web.Config vamos adicionar um utilizador.
Agora vamos activar os roles e adicionar um novo role com o nome Admin.
E associamos o nosso utilizador a esse role.
Agora vamos ás Access rules e criamos uma nova Access rule. É aqui que entram as pastas “Admin” e “User” que criamos. Vamos colocar o role “Admin” com acesso à pasta “Admin” e negar aos anonymous users acesso a esta pasta.
Este é o resultado:
Para já ficamos por aqui na ferramenta de administração, mas ainda cá voltamos.
Depois destas alterações o que é que aconteceu? Onde estão guardados estes dados? Esta ferramenta cria uma base de dados local (ASPNETDB.MDF) com todos estes dados, podem ver esta base de dados na pasta App_Data. Podemos também guardar os dados numa BD SQlServer.
Agora para verificarmos que funciona temos de criar uma página derivada da nossa Master Page. Para isso, botão direito em cima do projecto Add->New Item e escolhemos uma WebForm, dependendo da vossa versão do Visual Studio, esta pode ser uma página normal onde escolhemos uma checkbox a dizer que tem Master Page ou então adicionamos uma Web Content Form que automaticamente deriva de uma Master Page. O nome desta página TEM de ser default.aspx (poupa trabalho).
O resultado desta página será o layout da Master Page, com um sitio para colocar o conteúdo da página o “ContentPlaceHolder”. Depois iremos tratar desta página, para já e para finalizar vamos experimentar o nosso Login.
Correu tudo bem? Óptimo, neste momento já têm um site com controlo de acessos e foi tão simples.
Download: ASP.NET – Tutorial 06 [290.87KB]
Bom meus amigos por hoje é tudo espero que tenham gostado, para a semana voltamos com a segunda parte do nosso tutorial. Qualquer dúvida ou sugestão escrevam em baixo.
Este artigo tem mais de um ano
Não programo muito nesta linguagem, já utilizei C# e gostei bastante mas, neste momento e desde à algum tempo para cá, tenho apenas utilizado Java e a minha grande dor de cabeça diária PHP 🙂
Mas fora isso, li muito por alto mas, este pareceu-me um excelente tutorial. Ainda bem que há pessoas com esta paciência, desta forma muitas outras podem obter informação muito útil.
Abraço
Viva,
Se o teu nick for verdade 🙂 e continuares a ler estes tutoriais, muito cedo irás deixar de trabalhar em PHP nem que para isso tenhas de mudar de trabalho. 🙂
Continuação de um bom dia.
Obrigado.
Cumprimentos,
Henrique Graça
Eu estou a entrar agora no mundo do c# e estou a ficar completamente viciado no bom sentido e claro..
Excelente trabalho e de minha parte um grande obrigado pelo bom trabalho realizado…
ja agora e possivel correr algum programa do genero do visual studio mas para MAC OS?
Cumps
Ruben
Ruben,
Obrigado.
Estás a entrar num mundo que nunca mais acaba e que está sempre a inovar, parece que estamos sempre um passo atrás. É muito viciante.
Quanto a programar em MAC tens o Bloco de Notas :), o Xcode, (acho que não é muito bom) se for Web tens as ferramentas da Adobe.
Cumprimentos,
Henrique Graça
Olá.
Tens o Notepad++, é muito bom para quase todas as linguagens de programação.
Cumprimentos.
Ricardo Lobo
Bom dia a todos. O C# começou por ser uma linguagem nativa de sistemas Microsoft, mas já existem plataformas no MAC que permitem desenvolver aplicações em C#. Uma delas é a plataforma MONO (http://mono-project.com/Main_Page).
Nunca a usei porque a minha utilização prende-se mais com Actionscript e Java. C# só usei em projectos da universidade.
Cumprimentos a todos e continuem com este excelente trabalho pplware, o ppl agradece 🙂
Henrique,
podes explicar porque é que dizes isso?
naoliveira,
Já sabia que alguém iria perguntar isso por causa do meu comentário, mas não gosto de “discutir” qual a melhor linguagem. Ninguém tem razão porque defendemos aquilo que conhecemos e somos bons. Mas só te digo que comecei com PHP passei a ASP e agora não largo .NET.
O que respondo em género de brincadeira é que me “fartei de esparguete”.
Cumprimentos,
Henrique Graça
Vou ser sincero, gostei muito de C# e acima de tudo do Visual Studio mas, olhando aos gastos que as empresas, nomeadamente aquela onde eu trabalho, gastaria com licenças, compreendo prefeitamente o porquê de utilizarmos linux/apache/jboss/java etc.. Aqui só se pagam as licenças do MyEclipse e faz-se doações anuais à Apache 🙂
O Java é muito bom, não vou discutir se é melhor ou pior que o C# porque gostei mesmo muito de C# mas não mexi o suficiente com a linguagem mas, o que não é díscutivel é a qualidade do VS, é brutal em comparação com qualquer outro IDE que já tenha experimentado 🙂
Henrique,
a minha pergunta era mesmo para saber se o C# tinha mesmo alguma mais valia em relação ao PHP sem ser essa do “código esparguete”.
A diferença é que no C# obriga-te a não usar esse código enquanto no PHP somos nós que temos que fugir a usar esse código, não será isto?
Se analisares o código do Joomla ou do magento ou o cakePHP (que estou a começar a estudar agora) vês que isso já não se aplica.
Em relação ao C#, estou agora a começar através dos tutoriais aqui do pplware, vamos ver o que dali sai 😉
leitorassiduo,
Esse é o único argumento que não concordo quando comparam ASP.NET a outras linguagens.
Então vamos lá.
A Microsoft oferece toda a Suite de desenvolvimento e afins:
1) Se fores estudante e tiveres MSDNAA (fins educativos)
2) WebSiteSpark, se fores uma pequena e média empresa não pagas nada e tens suporte.
3) Tens o BizSpark tem as mesmas condiçoes da acima referida e passado 3 anos pagas 100€.
http://www.microsoft.com/web/websitespark/
http://www.microsoft.com/BizSpark/
Todos estes programas são para empresas pequenas.
Se fores uma empresa grande sabes quanto custa o VisualStudio?
800€ e para os computadores que quiseres.
Este valor é recuperado por uma empresa ao vender programita com dois botões.
Quanto ao Hosting (ASP.NET/SQLServer)?! Consegues os mesmos preços que linux.
Portanto esquece esse argumento do preço porque não existe.
Cumprimentos,
Henrique Graça
directamente talvez não exista, mas indirectamente existe,tens a licença do windows, tens a licença do SQL Server, alguém tem de a pagar, se não for quem faz o site é quem o aloja, por isso a Microsoft está sempre a facturar.
Mas vá lá, já o deixar instalar o VS nos PC que quisermos só com uma licença já é muito bom vindo da MS 😉
Não te esqueças que se progrmares de borla com os VS studio o teu cliente tem de ter o Windows,o sql server (ok eles têm um server freeware mas do windows não te livras), multiplica isso por cada pc que o cliente vai usar e já vês o que a MS factura.
Isto para dizer o quê? Para o programador pode não sair mais caro programar em ferramentas MS, mas para o cliente sai.
Isto era para ser uma resposta ao comentário do Henrique que está acima deste 🙁
isto era para ser uma resposta ao comentário do Henrique que está acima… 🙁
naoliveira,
Estás a fazer confusão com aplicações Windows e aplicações Web (ASP.NET).
As aplicações feitas em ASP.NET só precisam de um servidor web que pagas 7 euros por mês e tens alojamento e uma base de dados SQLServer com espaço ilimitado (é o que tenho neste momento), não tens mais custo nenhum.
Os clientes não pagam nada, basta ter um browser e podem aceder à aplicação.
Cumprimentos,
Henrique Graça
Não fiz confusão, tu podes usar C# para aplicações desktop, o tal programinha com 2 botões que tu escreves no teu comentário, e se usar msql server são mais umas quantas licenças (1 licença por cada pc a aceder ao servidor).
Em relação ao .net, aí sim é só o preço do alojamento, mas já alguém pagou o sqlserver.
Eu sei que podes usar C# para aplicações Windows mas estes tutoriais e esta conversa começou com o PHP e é sobre Web, certo?
Não sei porque misturas-te os dois Mundos.
Não esse SQLServer já vem no pacote de alojamento, não pagas nada extra. Mas se estas preocupado com o facto das empresas de alojamento terem pago o SQLServer também reclamas de nós lhe pagarmos mensalidade e temos conversa para o dia todo. 🙂
Cumprimentos,
Henrique Graça
Quando escreveste “Este valor é recuperado por uma empresa ao vender programita com dois botões.” supus que estavas a referir-te a programas desktop e não sites web. Mais dos links que deste um deles é para aplicações desktop, por isso a mistura não foi minha.
E não estou a reclamar só estou a contestar o facto de dizeres que com a MS também programas de borla, directamente talvez, indirectamente tens sempre de pagar qualquer coisa senão não o consegues fazer. Estou-me a referir à licença do windows, do sqlserver, etc,que alguém tem de pagar, ou o programdor ou o cliente final ou o serviço de alojamento.
Desde já deixo os meus cumprimentos a um dos participantes na organização deste fantástico trabalho, que mora na minha querida terrinha 🙂
Abraço ao Vitor Martins.
Mas como não é isto que me faz comentar, vou directo ao assunto.
Estive a tentar fazer download dos pdf das partes anteriores deste tutorial mas há alguns deles em que dá um erro.
Não é possível solucionar esse problema?
Obrigado pela atenção. Cumprimentos
Olá Diogo.
Sim tenho de ver qual deles tem um smile 😀 é por isso que o PDF dá erro.
Abraço.
Obrigado pela ajuda.
Continuação de bons posts 🙂
Cumprimentos.
Bom Tutorial.
Para quando o próximo post? 🙂
Continuação de bom trabalho 🙂
Caro Henrique,
Larga tudo que está fazendo e posta a parte 7 do tutorial, ta muito show!!!
Parabéns cara, você está desmitificando .NET, antes desse tutorial eu pensava que era algo de outro mundo.
Um abraço!
Como prendinha de Natal poderias continuar com este excelente tutorial 🙂
Feliz Natal a todos 🙂
Desde já PARABÉNS ao autor destes tópicos sobre ASP.NET!
Estou a tentar aprender e este tutorial está a ser de grande valia, principalmente a parte 6 que está “divinal”! Explicado como se “fosse mesmo muito burro” :). Podiam continuar com as seguintes… SFF!
Um abraço
Parabens pelo excelente trabalho.
sou estudante de informatica e estou a dar os primeiros passos em programaçao e por tal tenho muito que andar…
bem se for possivel ober informaçao como guardar os dados numa BD sql externa.
Abraço
Bem, parece que este trabalho ficou no fundo da gaveta esquecido…
Para já impecável; É aprender bem com facilidade.
Se viesse a 2ª parte, seria melhor.