AS 3.0/ Flex

Flex 2.0 – Exemplo : Autenticação simples de usuário

Não sei quem me pediu isso mas estou aqui postando publicamente um exemplo de como usar autenticação simples com Flex 2.0. Existem várias formas de se fazer o mesmo que foi feito no exemplo, porém para facilitar criei bem fácil de se fazer.

O exemplo abaixo requer Flash Player 9, o usuário é Igor e a senha é 1234.

Requer o Flash Player

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<?xml version="1.0" encoding="utf-8"?>
<mx:Application creationComplete="setarNull();" xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="414" height="362">
	<mx:states>
		<mx:State name="valido">
			<mx:RemoveChild target="{titlewindow1}"/>
			<mx:AddChild position="lastChild">
				<mx:Label x="10" y="22" text="Olá:"/>
			</mx:AddChild>
			<mx:AddChild position="lastChild">
				<mx:Label x="38" y="22" text="{usuario.text}"/>
			</mx:AddChild>
		</mx:State>
	</mx:states>
 
	<mx:Script>
 
 
			/** Exemplo de uso de validação de usuário simples
		      * Data: 30 de setembro 2006
		      * Autor: Igor Costa
		      * site : www.igorcosta.com
		      * Uso  : FREE
		     */
		     import mx.controls.Alert;
		     import mx.core.Application;
		     public function setarNull():void
		     {
		     	usuario.text = null;
		     	senha.text = null;
		     }
		     public function validar():void
		     {
		     	var usuarioID:String = "Igor";
		     	var senhaID:String = "1234";
 
		     	// usuario e senha são ambos os id's que passei junto com seus respectivos campos
		     	// quando faço comparaçao com null quero afimar que eles estão vazios.
		     	if(usuario.text == null && senha.text == null || usuario.length <2 || senha.length <2)
		     	{
 
		     		Alert.show("Preencha alguns dos campos");
		     	}else {
		     		if(usuario.text == usuarioID || senha.text == senhaID)
		     		{
		     			Application.application.currentState='valido';
 
		     		}else{
		     			Alert.show("Senha inválida!");
		     		}
		     	}
		     }
 
	</mx:Script>
	<mx:TitleWindow
		y="82" width="297"
		height="193" layout="absolute"
		title="Login para entrar no sistema" horizontalCenter="0" id="titlewindow1">
			<mx:Form label="Login" x="10" y="10">
		<mx:FormItem requered="true" label="Usuário:">
			<mx:TextInput restrict="A-Z a-z" id="usuario"/>
		</mx:FormItem>
		<mx:FormItem requered="true" label="Senha:">
			<mx:TextInput id="senha" restrict="0-9" displayAsPassword="true"/>
		</mx:FormItem>
	</mx:Form>
			<mx:Button x="149" y="100" click="setarNull();" label="Cancelar"/>
			<mx:Button click="validar();" x="79" y="100" label="Entrar"/>
	</mx:TitleWindow>
 
 
</mx:Application>

8 thoughts on “Flex 2.0 – Exemplo : Autenticação simples de usuário

  1. Seguinte: Eu instalei o flex 2 como plugin do eclipse… e comecei a aprender como esse programa funfa…
    eu baixei esse exemplo pra testar.. e correu tudo bem..
    mas ai.. aconteceu uma coisa.. q eu axo q tah mais pra bug do programa.. q da programação…

    eu testei o exemplo com a senha 12345, ou seja.. a senha correta 1234 o caracter 5
    e isso vez com q ele validasse minha senha… alguem sabe me dizer o porque? como ele aceitou uma senha inválida.. so porque a correta estava dentro??

  2. Gustavo,

    Não é por este motivo não, troque a linha do IF no código da aplicação que ele irá parar com esse problema.

    Antes
    if(usuario.text==usuarioID || senha.text==senhaID)
    {
    Application.application.currentState=’valido’;
    }else{
    Alert.show(“Senha Inválida!”);
    }

    Alterado
    if(usuario.text==usuarioID && senha.text==senhaID)
    {
    Application.application.currentState=’valido’;
    }else{
    Alert.show(“Senha Inválida!”);
    }

  3. Na verdade tem um errinho basico na programação
    linha 43 onde esta if(usuario.text == usuarioID || senha.text == senhaID)
    tem q ser
    if(usuario.text == usuarioID && senha.text == senhaID)

    porque || siginifica OU , ou seja, se usuario ou a senha estiver certa entra e o certo para uma validação seria && significa E, ou seja se usuario e a senha estiver correta =D

    mesmo se vc por ae no teste Igor senha 09 ele entra =D
    so isso q eu vi de “errado”

  4. Obrigado amigos visitantes.

    Realmente colocando só o && valida ambos os campos. Sinal que tem gente ainda descente que para, analisa e critíca o código. Isso é muito positivo.

    Forte abraço

  5. igor tem algum exemplo usando OpenAMF ou Flex Data Service?
    Buscando do banco de dados usando java?

  6. Cara, como posso criar um sistema em flex com Login, sendo que alguns usuário tenha acesso á alguma áreas e outros não…
    ´[]´s

  7. olá igor, uma sugestão,que tal um tutorial fazendo autenticação de login utilizando flex, java, mysql, aproveitando o post do rodrigo logo acima, onde dependendo do usuario que for logado o acesso a determinadas áreas do sistema são desabilitas?????

  8. Cara. Fiz o mesmo com adobe AIR. Excelente. Mudei apenas:

    if(usuario.text == usuarioID && senha.text == senhaID)
    {
    currentState=’valido’;

    }

    Gostaria de ver a sugestão do Rodrigo e do Tiago.
    Valeu

Comments are closed.