off: Bill & Steve. WHAT A HELL!!!

Por Juliano Oliveira em Maio 28, 2008

Com tanta grana no bolso eu também seria feliz assim. Hehe!

[]´s

ASP.NET MVC Preview 3 Release

Por Juliano Oliveira em Maio 28, 2008

A equipe do Scott Gu liberou uma nova prévia do ASP.NET MVC. Melhoraram a integração com o Visual Studio e pequenos detalhes do framework que basicamente foram a confirmação dos Refresh Releses da Preview 2.

Download da instalação (arquivo MSI)

Código fonte via Codeplex

Novidades como duas novas classes, a SelectList e a MultiSelectList. Esses são para facilitar no preenchimentos de campos dropdown, ficou bem legal, o código html cada vez mais limpo!

No sistema de URL Routing inclui uma série de melhorias. A partir do SP1 do .NET 3.5 o URL Routing irá suportar também requisições a WebForms, além de requisições MVC. Um novo método IgnoreRounte() que irá facilitar a negação de requisições para nossas regras de roteamento. O MapRoutes() ganhou algumas sobrecargas em que passamos dois, três ou quatro parametros (nome da rota, sintaxe da URL, parametro padrão da URL, Parametro opcional para gerar constraints com expressão regular na URL).

Podemos também nessa nova preview adicionar novos caracteres nas regras de roteament. São eles “-”, “.” e “;”.

Enfim, tá muito loco o framework! Quem quiser conferir um projeto pronto segue a dica do Northwind MVC Sample para download, por Phil Haack.

Fica ae alguns videos do Scott Hanselman.

Introduction to ASP.NET MVC Preview 3

Basic Application Building with ASP.NET MVC Preview 3 

Fonte:

ASP.NET MVC Preview 3 Release by Scott Gu

ASP.NET MVC Preview 3 by Scott Hanselman

[]´s

ActionFilter em Ação: Segurança nos métodos

Por Juliano Oliveira em Maio 24, 2008

E ae galera, depois de um tempo sem post decidi escrever sobre um recurso bem legal do ASP.NET MVC Framework, um dos novos eventos de ActionFilters que foram liberados na última revisão. São eles:

  • OnActionExecuting que ocorre antes do método ser chamado;
  • OnActionExecuted que ocorre após o método ser chamado, mas antes do resultado;
  • OnResultExecuting que ocorre antes do resultado;
  • OnResultExecuted que ocorre após o resultado.

No exemplo, veremos o poder do evento OnActionExecuting onde antes de qualquer método que definirmos, ser necessário estar logado, nós “testaremos” se o usuário está ou não logado no sistema. O interessante neste recurso é a facilidade para definirmos esta regra aos métodos através de atributos, definidos na declaração dos métodos. Vejam essa classe:


public class RequiresAuthenticationAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(FilterExecutingContext filterContext)
    {
        if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
        {
            string redirectOnSuccess = filterContext.HttpContext.Request.Url.AbsolutePath;

            string redirectUrl = string.Format("?ReturnaUrl=~{0}", redirectOnSuccess);
            string loginUrl = FormsAuthentication.LoginUrl + redirectUrl;
            filterContext.HttpContext.Response.Redirect(loginUrl, true);
        }
    }
}

Basicamente, tá pronto :)

Só com essa classe bem simples já podemos definir métodos que necessitem que o usuário esteja logado no sistema. Lá na declaração da classe vemos que estamos criando uma classe herdada de ActionFilterAttribute, portanto, estamos criando um novo atributo chamado RequiresAuthentication. O código é bem simples: Se filterContext.HttpContext.User.Identity.IsAuthenticated for falso redireciona para a página de login e de quebra, manda também a página que o pelego tentou acessar para depois de logado redirecionar para ela novamente.

Para termos um código de fácil manutenção, setamos no web.config a rota de redirecionamento (FormsAuthentication.LoginUrl).


<system.web>
    <authentication mode="Forms">
        <forms loginUrl="/Home.mvc.aspx/Login" />
    </authentication>
</system.web>

E pronto, agora qualquer método será facil de implementarmos necessidade de autenticação.


public class HomeController : Controller
{
    public void Index()
    {
        RenderView("Index");
        }

    [RequiresAuthentication]
    public void Post()
    {
        RenderView("Post");
    }
}

Bem legal né, com um simples [RequiresAuthentication] mudamos todo um escopo de um método!

Para autenticar o usuário, crie uma View com um Form pedindo usuário e senha e redirecione para um método de Autenticação, faça o beabá para verificar se usuário e senha estão corretos depois é só autenticar o usuário assim:


public void Autenticar(string usuario, string senha, string RetornaUrl)
{
     //TODO: Verifica se esta logado ou não
    if(!UsuarioLogado)
    {
         // O rememberMe é para persistir ou não o Cookie
         FormsAuthentication.SetAuthCookie(usuario, rememberMe);
         RedirectToAction(RetornaUrl)
    }
    else
    {
         TempData["MensagemDeLogin"] = "Login incorreto";
         RedirectToAction("Login");
    }
}

Até o próximo post!

Fonte: ASP.NET MVC: Securing Your Controller Actions

[]´s

Surface tamanho família ou Microsoft TouchWall

Por Juliano Oliveira em Maio 15, 2008

A Microsoft está promovendo um evento Microsoft CEO Summit 2008 para os executivos mostrando as novidades de Redmond.

Entre as inovações está o Microsoft TouchWall:

Com certeza desenvolvido em Silverlight.

[]´s

Fonte: Ramon Durães

Hotfix para Visual Studio 2008

Por Juliano Oliveira em Maio 8, 2008

Além do hotfix para Visual Studio 2008, neste link você vai encontrar todos os hotfix publicos lançados para Visual Studio e .NET Framework

Visual Studio and .NET Framework Hotfix Public Availability Program

[]´s

Fonte: Ramon Durães

Podcast Digital Paper Web #15: RIA ou não

Por SaintBr em Maio 6, 2008

podcast_banner_topo

Quarta-feira passada (30/04/08) estive participando no Podcast Digital Paper Web #15 com o tema R.I.A ou Não, onde discutimos tecnologias como Flex, Ajax e Silverlight.

Para quem gosta do assunto ou quer ouvir um podcast divertido está ai a deixa, acesse agora http://digitalpaperweb.com.br/ezine/evento/podcast-15-ria-ou-nao baixe, ouça e comente.

off: Esse podia ter dormido sem essa!

Por Juliano Oliveira em Maio 5, 2008

Saiu na Info Exame deste mês uma entrevista do “Rasmus Lerdorf” (lerdorf mesmo), criador do PHP.

Ao ser questionamo sobre o futuro da plataforma .Net ele soltou uma piada!

Com o sucesso de linguagens e frameworks de código aberto, você enxerga algum futuro para plataformas comerciais, como o .NET?

E o banana me solta uma resposta tosca!

NÃO!

Esse vai dormir com a orelha quente durante meses!

Cada uma viu.

Edit: Só para constar, eu gosto muito do PHP, como disse o Tiago no comentário dele, é uma ferramenta legal assim como o C#.  E um lembrete, PHP é linguagem de programação e .NET Framework de desenvolvimento, portanto, compare o .NET com o Zend Framework, CakePHP ou qualquer outro não com PHP! Será que o Rasmus condena também a vida do C#?

[]´s

Fonte: Info Exame


Copyright © 2007 Programando em .NET. Existe direitos reservados na Internet?.