Aplicação Web Zend Framework 2 Cliente de Aplicação Asp.Net Web API

Documentos relacionados
Classe PHP Client. A classe Zend\Http\Client fornece uma interface para realizar pedidos HTTP.

Aplicação ASP.NET MVC Cliente de Aplicação Web API

Aplicação MVC com Class Library

Criação de uma aplicação Web ASP.NET MVC 4

Aplicação ASP.NET MVC Cliente de Aplicação Web API (com Class Library)

Publicar uma aplicação ASP.NET Core com base de dados SqlServer no Azure usando Visual Studio e um perfil para publicação (publish profile)

1. Base de Dados criada automaticamente pelo Entity Framework. 2. Correspondência entre classes da aplicação Asp.Net e tabelas da base de dados

Integração por Web Services

REST. Representational State Transfer. É um estilo arquitetural usado por muitas aplicações Web para estender as suas funcionalidades.

Autenticação e Autorização numa Aplicação Web API através de uma aplicação Cliente ASP.NET MVC

Laboratório 3 Controllers

Connection String usada por uma Class Library

Guia e Utilização do Visual Studio.NET 2003

PROJETOS EXEMPLO DE ASP.NET MVC

DESENVOLVIMENTO DE SOFTWARE PARA INTERNET LABORATÓRIO 4 PROF. EMILIO PARMEGIANI

Criação de uma aplicação Web ASP.NET MVC usando Code First

Para baixá-lo entre no site : Selecione a aba Downloads ; Clique no link: Microsoft Visual C# Express 2010; Por meio desse

Introdução à Engenharia ENG1000

Aula07 Forms Authentication

CONFIGURAÇÃO DA CAIXA DE CORREIO ELETRÓNICO

DISTRIBUINDO SUA APLICAÇÃO

Developing ASP.NET MVC 5 Web Applications (20486)

Handson Cisco IOS VPN. (Guião CE1 - Parte 2)

API olx.com.br. Utilizando o protocolo OAuth 2.0

NOTA: Neste tutorial foi utilizado o Visual Studio 2010 para criar o Projeto Web no qual iremos realizar os passos abaixo.

Objectivos: Criar um programa de instalação do projecto desenvolvido

Construindo Aplicações com ASP.NET MVC 2.0 Aula 03 Luiz Alberto Ferreira Gomes. Ciência da Computação da PUC Minas

Criação de um Web Services em.net

Começando com Zend Framework

Plataforma Dados Saúde. WebAPI

COMPUTAÇÃO E PROGRAMAÇÃO

DISTRIBUINDO SUA APLICAÇÃO

2 Criar uma Enterprise Application que num módulo EJB irá conter um ou vários Beans.

Visual Studio+SQL Server Express LocalDB ANTONIO LUIS

Configurando uma aplicação Struts

CONFIGURAÇÃO DA CAIXA DE CORREIO ELETRÓNICO

Plataforma Dados Saúde. WebAPI

Disciplina: INF Programação I. 1 a aula prática Introdução ao ambiente do Microsoft Visual Studio 2010

MANUAL DE ATUALIZAÇÃO DE SOFTWARE PARA LEITURA DE CARTÕES

Criação de um Web Services em.net

QBalança Biblioteca de comunicação com balanças

Sage API Application Programming Interface.

Para criar um projeto no ambiente eclipse utiliza-se o menu File, New e Project como ilustra a Figura 1.

PRDS C#.Net Alexandre L. Silva

Admin Docs Documentation

Rede sem Fios CES. Manual de configuração. Versão 3

Guia Rápido de Configuração da Rede

Programação web Prof. Wladimir

1 INTRODUÇÃO CERTIFICADO DE SEGURANÇA SSL AUTENTICAÇÃO WEB METHOD: LOGIN WEB METHOD: LISTBONDCODES...

Criação de uma aplicação Zend Framework 2 com Zend Studio 13.5

PROGRAMAÇÃO ORIENTADA A OBJETOS I. Prof. Me. Hélio Esperidião

Bem vindos ao Curso de ASP.NET MVC 3 Razor e C#

LAB 9 Programação com o framework Codeigniter [parte 1]

Criação de uma aplicação Web ASP.NET MVC5 usando Code First

Construindo Aplicações com ASP.NET MVC 2.0 Aula 01 Luiz Alberto Ferreira Gomes. Ciência da Computação da PUC Minas

Microsoft Visual Studio Community 2013

Programação para Internet

Iniciando com Zend_Auth By Rob Allen, Document Revision Copyright 2007

Resumo Aplicação MVC Contoso University

LAB 7 Cookies e Sessões em PHP

Serviço de Cópia e Impressão: Como instalar

Sophos SafeGuard Enterprise 8.0.1

Aplicação MVC + Entity + MySQL

Módulo 3936 ASP.NET. Financiado pelo FSE

ASP.Net com MySQL Connector/Net 6.2.5

1 INTRODUÇÃO CERTIFICADO DE SEGURANÇA SSL AUTENTICAÇÃO WEB METHOD: LOGIN WEB METHOD: LISTBONDCODES...

Acesso padrão de fábrica Nome de usuário: admin Senha: admin Você pode alterar o endereço de rede do gateway acessando o menu Network;

Tutorial Módulo 06 - Segurança

1. CONFIGURAR A CONTA

A interface do Microsoft Visual Studio 2005

COMO INSTALAR UMA IMPRESSORA PC E MACINTOSH. Como instalar uma impressora - PC e Macintosh

Visual Studio.NET - C# Parte 2 Windows Forms e Web Services

Node.js. Download

Módulo 3936 ASP.NET. Financiado pelo FSE

Transcrição:

Aplicação Web Zend Framework 2 Cliente de Aplicação Asp.Net Web API 1. Criar a Aplicação Asp.Net Web API 2 com Individual User Accounts Visual Studio 2015 > File > New > Project Visual C#, Web > ASP.NET Web Application (.NET Framework) Name: WebApiMusicas ASP.NET 4.6 Templates: Web API Authentication: Individual User Accounts OK 1.1. Adicionar a classe Musica Models > botão direito do rato: Add > Class > Name: Musica.cs Add public class Musica public int MusicaId get; set; public string Artista get; set; public string Titulo get; set; 1.2. Build da Aplicação Necessário para em seguida o scaffolding poder usar as classes do modelo e do contexto. Build > Build Solution 1.3. Scaffolding para criar Controlador para a entidade Musica Controllers > botão direito do rato: Add > Controller > Add Scaffold: Web API 2 Controller with actions, using Entity Framework > Add Model class: Musica (WebApiMusicas.Models) Data context class: ApplicationDbContext (WebApiMusicas.Models) Use async controller actions Controller name: Add MusicasController 1.4. Verificar a criação do objeto DbSet para acesso à base de dados (na classe ApplicationDbContext) No ficheiro Models\IdentityModels.cs aparece a propriedade DbSet: Musicas. public class ApplicationDbContext : IdentityDbContext<ApplicationUser>

public ApplicationDbContext() : base("defaultconnection", throwifv1schema: false) public static ApplicationDbContext Create() return new ApplicationDbContext(); public System.Data.Entity.DbSet<WebApiMusicas.Models.Musica> Musicas get; set; 1.5. Executar a aplicação e criar objetos com o Postman Debug > Start Without Debugging Na barra de endereços do browser acrescentar /api/musicas Postman http://localhost: 10120/api/Musicas method POST 1.6. Configurar autorização do acesso ao recurso Musica apenas a utilizadores autenticados namespace WebApiMusicas.Controllers [Authorize] public class MusicasController : ApiController...

1.7. Configurar uma ligação segura para esta aplicação Asp.Net Web API 2 Ativar SSL no IIS Express a partir do Visual Studio 2015: Janela de propriedades do projeto (Selecionar projeto > F4) Mudar SSL Enabled para True Guardar o URL SSL para depois testar as ligações HTTPS https://localhost:44343/ Página de propriedades Web para configurar URL seguro no IIS Express local Bt dir. Do rato em cima do nome do projeto > Properties Web > Project URL http://localhost:10120/ Mudar para https://localhost:44343/ Premir Create Virtual Directory The virtual directory was created successfully A página fica marcada com asterisco: Web* > Gravar esta página (Ctrl + S) 1.8. Registar um utilizador A aplicação é agora acessível por https mas também continua acessível por http. http://localhost: 10120/api/Account/Register method POST x-www-form-urlencoded Email a@a.pt Password Qwerty1! ConfirmPassword Qwerty1!

2. Criar a Aplicação Zend Framework 2 (Cliente da Aplicação Web API 2) 2.1. Criação de um Serviço de Login na aplicação ZF2 Albuns criada neste link Módulo Album da aplicação ZF2 Albuns module/album/src /Album > New > Folder Folder name: Services Criação da classe Credenciais para conter as credenciais de acesso à aplicação Asp.Net Web API 2 Services > New > Class Class Name: Credenciais Finish namespace Album\Services; class Credenciais public static $username = "a@a.pt"; public static $password = "Qwerty1!"; Criação da classe EnderecoWebApi para conter o endereço base da aplicação Asp.Net Web API 2 Services > New > Class Class Name: EnderecoWebApi Finish namespace Album\Services; class EnderecoWebApi public static $enderecobase = 'https://localhost:44343'; Criação da classe WebApiServices com o serviço de Login, Logout, e getmusicas Services > New > Class Class Name: WebApiServices Finish namespace Album\Services; use Zend\Http\Client; use Zend\Http\Request; use Zend\Json\Json;

class WebApiServices public static function Login() $username = Credenciais::$username; $password = Credenciais::$password; $enderecobase = EnderecoWebApi::$enderecoBase; $client = new Client($enderecoBase. '/Token'); $client->setmethod(request::method_post); $data = "grant_type=password&username=$username&password=$password"; $len = strlen($data); $client->setheaders(array( 'Content-Type' => 'application/x-www-form-urlencoded', 'Content-Length' => $len )); $client->setoptions(['sslverifypeer' => false]); $client->setrawbody($data); $response = $client->send(); $body = Json::decode($response->getBody()); if(!empty($body->access_token)) if(!isset($_session)) session_start(); $_SESSION['access_token'] = $body->access_token; $_SESSION['username'] = $username; return true; else return false; public static function Logout() if(!isset($_session)) session_start(); $_SESSION['username'] = null; $_SESSION['access_token'] = null;?> public static function getmusicas() $enderecobase = EnderecoWebApi::$enderecoBase; $client = new Client($enderecoBase. '/api/musicas'); $client->setmethod(request::method_get); if(!isset($_session)) session_start(); $bearer_token = 'Bearer '. $_SESSION['access_token']; $client->setheaders(array( 'Authorization' => $bearer_token, )); $client->setoptions(['sslverifypeer' => false]); $response = $client->send(); $body=$response->getbody(); $musicas = Json::decode($response->getBody(), true); return $musicas;

2.2. Criar as ações musicasaction e logoutaction Em module/album/src /Album/Controller/AlbumController acrescentar as seguintes ações: public function musicasaction() if (!isset($_session)) session_start(); if (!isset($_session['access_token'])) WebApiServices::Login(); $musicas = WebApiServices::getMusicas(); return new ViewModel(array( 'musicas' => $musicas, )); public function logoutaction() if (!isset($_session)) session_start(); if (!isset($_session['access_token'])) WebApiServices::Logout(); return new ViewModel(); Em module/album/src /view/album/album acrescentar as seguintes vistas: Musicas.phtml <strong>module:</strong> <strong>controller:</strong> <strong>action:</strong> musicas $title = 'Musicas'; $this->headtitle($title);?> <h1> echo $this->escapehtml($title);?></h1> <table class="table"> <tr> <th>musicaid</th><th>artista</th><th>titulo</th> </tr> foreach ($musicas as $musica) :?> <tr> <td> echo $this->escapehtml($musica['musicaid']);?></td> <td> echo $this->escapehtml($musica['artista']);?></td> <td> echo $this->escapehtml($musica['titulo']);?></td> </tr> endforeach;?> </table>

Logout.phtml <strong>module:</strong> <strong>controller:</strong> <strong>action:</strong> Logout <h1>logout successfully</h1>