SlideShare una empresa de Scribd logo
1 de 9
Descargar para leer sin conexión
.Net Apprentice




                                 Membership e Login
                                                         Arquitectura de Sistemas
                                                                                              DEI-ISEP

                                          Walkthrough: Creating a Web Site with Membership and User Login
                                                      http://msdn2.microsoft.com/en-us/library/879kf95c(VS.80).aspx




                                 Membership e Login
                                  Web Site Administration Tool




                                                                                                                 1




(C) Laboratório .NET do Departamento de
Engenharia Informática do ISEP/IPP                                                                                                 1
.Net Apprentice




                                 Membership e Login
                                  Membership e Login
                                     Objectivos:
                                      Criar página principal com link para login
                                               LoginStatus control
                                          Abrir página de login – Login.aspx
                                               Login control
                                          Validação do utilizador e regresso à página principal
                                          com apresentação de sucesso na validação
                                               LoginView control
                                          Apresentação do nome do utilizador
                                               LoginName control
                                          Impedir acesso a páginas para utilizadores não
                                          autenticados
                                               Criar rules


                                                                                                  2




                                 Criar Web site IIS local




                                                                                                  3




(C) Laboratório .NET do Departamento de
Engenharia Informática do ISEP/IPP                                                                                 2
.Net Apprentice




                                 Create a membership user
                                  Asp.Net Configuration -> Security
                                  Criar utilizador:
                                          User name
                                          Password
                                          …
                                  Método de acesso:
                                     From the internet
                                     From a local area network


                                  Nota: A informação de membership é guardado por omissão no
                                    Microsoft SQL Server Express , no folder App_Data



                                                                                               4




                                 Set up access rules
                                  Inserir regras de acesso para um dado
                                  directório ( p.e. memberpages)
                                  Utilizar Web Site Administration Tool
                                  Security -> Create Access Rules




                                                                                               5




(C) Laboratório .NET do Departamento de
Engenharia Informática do ISEP/IPP                                                                              3
.Net Apprentice




                                 Controlos de Login
                                  Criar página com Login Button
                                      Inserir controlo LoginStatus
                                               Login
                                      Este link referencia, por omissão, a página Login.aspx
                                      Web.config – Form Authentication

                                   <system.web>
                                     <authentication mode="Forms" />
                                   </system.web>




                                  Criar página para fazer Login -> Login.aspx
                                           Inserir controlo Login


                                                                                                              6




                                 Controlos de Login
                                  Control Login:
                                     Namespace: System.Web.UI.WebControls
                                     Sintaxe:
                                     [BindableAttribute(false)]
                                     public class Login : CompositeControl
                                     3 elementos obrigátorios:
                                          user name único para identificar o utilizador
                                          password para verificar a identidade do utilizador
                                          button para enviar a informação ao servidor
                                     Elementos opcionais:
                                          link para relembrar password
                                          help link para os utilizadores com problemas ao fazer login
                                          Um link para registar novo utilizador
                                          acção se o login foi bem sucedido
                                          modo de esconder o control se o utilizador já estiver autenticado
                                     Propriedade DestinationPageUrl: Destino se bem sucedido
                                     Membership provider: default configurado no Web.config
                                     Propriedade MembershipProvider permite alterar nome provider
                                     OnAuthenticate permite alterar processo/method de autenticação
                                     Etc.


                                                                                                              7




(C) Laboratório .NET do Departamento de
Engenharia Informática do ISEP/IPP                                                                                             4
.Net Apprentice




                                 Controlos de Login
                                  LoginStatus:
                                    Namespace: System.Web.UI.WebControls
                                    Sintaxe:
                                            [BindableAttribute(false)]
                                            public class LoginStatus : CompositeControl
                                     Dois estados: logged ou logged out no Web site,
                                     determinado pela propriedade IsAuthenticated da página.
                                     Algumas Propriedades:
                                          LogininimageUrl e LogoutimageUrl possibilitam alterar display
                                          (texto ou image).
                                          LogoutAction (Refresh, Redirect e RedirectToLoginPage)
                                          LogoutPageUrl
                                     Loging out “limpa” o “user's authentication status “ e quando
                                     usado, as cookies do cliente
                                     Este control possibilita a colocação de um link para a página
                                     de login (login.aspx) caso o utilizador não tenha feito login



                                                                                                          8




                                 Controlos de Login
                                  LoginName:
                                     Namespace: System.Web.UI.WebControls
                                     Sintaxe:
                                     [BindableAttribute(false)]
                                     public class LoginName : WebControl
                                     Mostra o nome do utilizador na propriedade User da
                                     class Page
                                     Propriedade FormatString permite alterar texto a ser
                                     visualizado




                                                                                                          9




(C) Laboratório .NET do Departamento de
Engenharia Informática do ISEP/IPP                                                                                         5
.Net Apprentice




                                 Controlos de Login
                                  Informação para utilizadores logged-in
                                     Inserir um controlo LoginView




                                  Informação com o nome do utilizador que fez
                                  login
                                     Inserir controlo LoginName
                                                    [username]


                                                                                               10




                                 Controlos de Login
                                  LoginView:
                                     Namespace: System.Web.UI.WebControls
                                     Sintaxe:
                                          [BindableAttribute(false)]
                                          [ThemeableAttribute(true)]
                                          public class LoginView : Control, INamingContainer
                                     Permite associar diferentes displays a diferentes
                                     utilizadoresdepois de ser efectuada a autenticação
                                     3 propriedades importantes:
                                        AnonymousTemplate: define template a ser visualizado
                                        pelos utilizadadores sem login
                                        LoggedInTemplate: template ser visualizado pelos
                                        utilizadores que não pertecem a nenhum Role groups
                                        e que tenham efectuado login
                                        RoleGroups: para definir os templates a ser
                                        visualizados pelos utilizadores que tenham efectuado
                                        login pertecentes a determinados grupos


                                                                                               11




(C) Laboratório .NET do Departamento de
Engenharia Informática do ISEP/IPP                                                                               6
.Net Apprentice




                                 Rule access
                                  Limitar acesso às páginas no directório
                                  memberspages
                                     Criar uma página members.aspx nesse
                                     directorio
                                     Criar um link para essa página ou escrever
                                     endereço no browser
                                     Utilizador será redirecionado para a página
                                     Login.aspx
                                     Uma vez validado com sucesso será
                                     redireccionado para a página que tinha pedido
                                     (Members.aspx)


                                                                                              12




                                 Controlos de Login
                                  Registar novo utilizador

                                     Criar página register.aspx
                                     Inserir controlo CreateUserWizard
                                     Configurar propriedade ContinueDestinationPageUrl para
                                     a página principal




                                                                                              13




(C) Laboratório .NET do Departamento de
Engenharia Informática do ISEP/IPP                                                                              7
.Net Apprentice




                                   Controlos de Login
                                   ChangePassword:
                                     Namespace: System.Web.UI.WebControls
                                     Sintaxe:
                                     [BindableAttribute(false)]
                                     public class ChangePassword : CompositeControl,
                                        INamingContainer
                                     Propriedade SuccessPageUrl
                                   PasswordRecovery:
                                     Namespace: System.Web.UI.WebControls
                                     Sintaxe:
                                     [BindableAttribute(false)]
                                     public class PasswordRecovery : CompositeControl



                                                                                          14




                                   class Membership
                                   ValidateUser da class membership

                               public void Login_OnClick(object sender, EventArgs
                                  args)
                               {
                                  if (Membership.ValidateUser(UsernameTextbox.Text,
                                          PasswordTextbox.Text))

                                   FormsAuthentication.RedirectFromLoginPage(UsernameTe
                                   xtbox.Text,
                                        NotPublicCheckBox.Checked);
                                   else
                                   Msg.Text = "Login failed. Please check your user
                                   name and password and try again.";
                               }




                                                                                          15




(C) Laboratório .NET do Departamento de
Engenharia Informática do ISEP/IPP                                                                          8
.Net Apprentice




                               // codigo html inserir password e username
                                <body>
                               <form id="form1" runat="server">
                                <h3>
                               Login</h3> <asp:Label id="Msg" runat="server" /><br
                                  />
                                Username: <asp:Textbox id="UsernameTextbox"
                                  runat="server" /><br />
                               Password: <asp:Textbox id="PasswordTextbox"
                                  runat="server" /><br />
                               <asp:Button id="LoginButton" Text="Login"
                                  OnClick="Login_OnClick" runat="server" />
                               <asp:CheckBox id="NotPublicCheckBox" runat="server" />
                               Check here if this is <span >not</span> a public
                                  computer. </form>
                                </body> </html>




                                                                                        16




                                 class MembershipProvider
                                  Alguns métodos
                                          ValidateUser
                                          CreateUser
                                          DeleteUser
                                          FindUsersByName
                                          GetAllUsers
                                          GetNumberOfUsersOnline
                                          ….




                                                                                        17




(C) Laboratório .NET do Departamento de
Engenharia Informática do ISEP/IPP                                                                        9

Más contenido relacionado

Destacado

Destacado (20)

Concurso história fixe - 1ª edição - 8º ano - 2012
Concurso história fixe - 1ª edição - 8º ano - 2012Concurso história fixe - 1ª edição - 8º ano - 2012
Concurso história fixe - 1ª edição - 8º ano - 2012
 
COJE - TJRO
COJE - TJROCOJE - TJRO
COJE - TJRO
 
BLS card
BLS cardBLS card
BLS card
 
Deans List Certificate
Deans List CertificateDeans List Certificate
Deans List Certificate
 
Projeto feciarte
Projeto feciarteProjeto feciarte
Projeto feciarte
 
20150123160027539
2015012316002753920150123160027539
20150123160027539
 
Informe médico
Informe médicoInforme médico
Informe médico
 
603
603603
603
 
Neurobiología
NeurobiologíaNeurobiología
Neurobiología
 
Nama bayi
Nama bayiNama bayi
Nama bayi
 
Patrimonio intangible
Patrimonio intangiblePatrimonio intangible
Patrimonio intangible
 
Segundo mapa
Segundo mapaSegundo mapa
Segundo mapa
 
First Lady Letter
First Lady LetterFirst Lady Letter
First Lady Letter
 
Aviso 2 5 columnas x 345mm
Aviso 2 5 columnas x 345mmAviso 2 5 columnas x 345mm
Aviso 2 5 columnas x 345mm
 
Imagenes embrio genitou
Imagenes embrio genitouImagenes embrio genitou
Imagenes embrio genitou
 
Nuevo documento de microsoft word
Nuevo documento de microsoft wordNuevo documento de microsoft word
Nuevo documento de microsoft word
 
mi foto
mi fotomi foto
mi foto
 
Momentos en la familia
Momentos en la familiaMomentos en la familia
Momentos en la familia
 
Jornal O Galo de São Luiz do Parahytinga 9
Jornal O Galo de São Luiz do Parahytinga 9Jornal O Galo de São Luiz do Parahytinga 9
Jornal O Galo de São Luiz do Parahytinga 9
 
Rendición de cuentas 13 de diciembre en el
Rendición de cuentas 13 de diciembre en elRendición de cuentas 13 de diciembre en el
Rendición de cuentas 13 de diciembre en el
 

Similar a Membership loginv3

Similar a Membership loginv3 (20)

ASP.NET - Segurança
ASP.NET - SegurançaASP.NET - Segurança
ASP.NET - Segurança
 
Spring Security e Spring Boot Aula - 2018
Spring Security e Spring Boot Aula - 2018Spring Security e Spring Boot Aula - 2018
Spring Security e Spring Boot Aula - 2018
 
Php12
Php12Php12
Php12
 
[Authentication] ASP.NET Identity
[Authentication] ASP.NET Identity[Authentication] ASP.NET Identity
[Authentication] ASP.NET Identity
 
Jsf
JsfJsf
Jsf
 
Front Controller & Presentation-Abstract-contrll
Front Controller & Presentation-Abstract-contrllFront Controller & Presentation-Abstract-contrll
Front Controller & Presentation-Abstract-contrll
 
Curso programação web em PHP
Curso programação web em PHPCurso programação web em PHP
Curso programação web em PHP
 
Tutorial +login+mvc
Tutorial +login+mvcTutorial +login+mvc
Tutorial +login+mvc
 
Seguranca web
Seguranca webSeguranca web
Seguranca web
 
Automidia NetWatcher
Automidia NetWatcherAutomidia NetWatcher
Automidia NetWatcher
 
Apostila de asp
Apostila de aspApostila de asp
Apostila de asp
 
Colóquio A2 Comunicação
Colóquio A2 ComunicaçãoColóquio A2 Comunicação
Colóquio A2 Comunicação
 
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 4 - 2019.1
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 4 - 2019.1Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 4 - 2019.1
Desenvolvimento de Sistemas Web com PHP Frameworks - Aula 4 - 2019.1
 
Modelagem Aplicações Web com UML
Modelagem Aplicações Web com UMLModelagem Aplicações Web com UML
Modelagem Aplicações Web com UML
 
W2py pyconpe
W2py pyconpeW2py pyconpe
W2py pyconpe
 
Desenvolvimento web ágil com Python e web2py #qconsp #qcon
Desenvolvimento web ágil com Python e web2py #qconsp #qconDesenvolvimento web ágil com Python e web2py #qconsp #qcon
Desenvolvimento web ágil com Python e web2py #qconsp #qcon
 
Asp net mvc
Asp net mvcAsp net mvc
Asp net mvc
 
ASP.NET - Web Services
ASP.NET - Web ServicesASP.NET - Web Services
ASP.NET - Web Services
 
JavaServer Faces
JavaServer FacesJavaServer Faces
JavaServer Faces
 
Demoiselle Behave - Parte 2
Demoiselle Behave - Parte 2Demoiselle Behave - Parte 2
Demoiselle Behave - Parte 2
 

Membership loginv3

  • 1. .Net Apprentice Membership e Login Arquitectura de Sistemas DEI-ISEP Walkthrough: Creating a Web Site with Membership and User Login http://msdn2.microsoft.com/en-us/library/879kf95c(VS.80).aspx Membership e Login Web Site Administration Tool 1 (C) Laboratório .NET do Departamento de Engenharia Informática do ISEP/IPP 1
  • 2. .Net Apprentice Membership e Login Membership e Login Objectivos: Criar página principal com link para login LoginStatus control Abrir página de login – Login.aspx Login control Validação do utilizador e regresso à página principal com apresentação de sucesso na validação LoginView control Apresentação do nome do utilizador LoginName control Impedir acesso a páginas para utilizadores não autenticados Criar rules 2 Criar Web site IIS local 3 (C) Laboratório .NET do Departamento de Engenharia Informática do ISEP/IPP 2
  • 3. .Net Apprentice Create a membership user Asp.Net Configuration -> Security Criar utilizador: User name Password … Método de acesso: From the internet From a local area network Nota: A informação de membership é guardado por omissão no Microsoft SQL Server Express , no folder App_Data 4 Set up access rules Inserir regras de acesso para um dado directório ( p.e. memberpages) Utilizar Web Site Administration Tool Security -> Create Access Rules 5 (C) Laboratório .NET do Departamento de Engenharia Informática do ISEP/IPP 3
  • 4. .Net Apprentice Controlos de Login Criar página com Login Button Inserir controlo LoginStatus Login Este link referencia, por omissão, a página Login.aspx Web.config – Form Authentication <system.web> <authentication mode="Forms" /> </system.web> Criar página para fazer Login -> Login.aspx Inserir controlo Login 6 Controlos de Login Control Login: Namespace: System.Web.UI.WebControls Sintaxe: [BindableAttribute(false)] public class Login : CompositeControl 3 elementos obrigátorios: user name único para identificar o utilizador password para verificar a identidade do utilizador button para enviar a informação ao servidor Elementos opcionais: link para relembrar password help link para os utilizadores com problemas ao fazer login Um link para registar novo utilizador acção se o login foi bem sucedido modo de esconder o control se o utilizador já estiver autenticado Propriedade DestinationPageUrl: Destino se bem sucedido Membership provider: default configurado no Web.config Propriedade MembershipProvider permite alterar nome provider OnAuthenticate permite alterar processo/method de autenticação Etc. 7 (C) Laboratório .NET do Departamento de Engenharia Informática do ISEP/IPP 4
  • 5. .Net Apprentice Controlos de Login LoginStatus: Namespace: System.Web.UI.WebControls Sintaxe: [BindableAttribute(false)] public class LoginStatus : CompositeControl Dois estados: logged ou logged out no Web site, determinado pela propriedade IsAuthenticated da página. Algumas Propriedades: LogininimageUrl e LogoutimageUrl possibilitam alterar display (texto ou image). LogoutAction (Refresh, Redirect e RedirectToLoginPage) LogoutPageUrl Loging out “limpa” o “user's authentication status “ e quando usado, as cookies do cliente Este control possibilita a colocação de um link para a página de login (login.aspx) caso o utilizador não tenha feito login 8 Controlos de Login LoginName: Namespace: System.Web.UI.WebControls Sintaxe: [BindableAttribute(false)] public class LoginName : WebControl Mostra o nome do utilizador na propriedade User da class Page Propriedade FormatString permite alterar texto a ser visualizado 9 (C) Laboratório .NET do Departamento de Engenharia Informática do ISEP/IPP 5
  • 6. .Net Apprentice Controlos de Login Informação para utilizadores logged-in Inserir um controlo LoginView Informação com o nome do utilizador que fez login Inserir controlo LoginName [username] 10 Controlos de Login LoginView: Namespace: System.Web.UI.WebControls Sintaxe: [BindableAttribute(false)] [ThemeableAttribute(true)] public class LoginView : Control, INamingContainer Permite associar diferentes displays a diferentes utilizadoresdepois de ser efectuada a autenticação 3 propriedades importantes: AnonymousTemplate: define template a ser visualizado pelos utilizadadores sem login LoggedInTemplate: template ser visualizado pelos utilizadores que não pertecem a nenhum Role groups e que tenham efectuado login RoleGroups: para definir os templates a ser visualizados pelos utilizadores que tenham efectuado login pertecentes a determinados grupos 11 (C) Laboratório .NET do Departamento de Engenharia Informática do ISEP/IPP 6
  • 7. .Net Apprentice Rule access Limitar acesso às páginas no directório memberspages Criar uma página members.aspx nesse directorio Criar um link para essa página ou escrever endereço no browser Utilizador será redirecionado para a página Login.aspx Uma vez validado com sucesso será redireccionado para a página que tinha pedido (Members.aspx) 12 Controlos de Login Registar novo utilizador Criar página register.aspx Inserir controlo CreateUserWizard Configurar propriedade ContinueDestinationPageUrl para a página principal 13 (C) Laboratório .NET do Departamento de Engenharia Informática do ISEP/IPP 7
  • 8. .Net Apprentice Controlos de Login ChangePassword: Namespace: System.Web.UI.WebControls Sintaxe: [BindableAttribute(false)] public class ChangePassword : CompositeControl, INamingContainer Propriedade SuccessPageUrl PasswordRecovery: Namespace: System.Web.UI.WebControls Sintaxe: [BindableAttribute(false)] public class PasswordRecovery : CompositeControl 14 class Membership ValidateUser da class membership public void Login_OnClick(object sender, EventArgs args) { if (Membership.ValidateUser(UsernameTextbox.Text, PasswordTextbox.Text)) FormsAuthentication.RedirectFromLoginPage(UsernameTe xtbox.Text, NotPublicCheckBox.Checked); else Msg.Text = "Login failed. Please check your user name and password and try again."; } 15 (C) Laboratório .NET do Departamento de Engenharia Informática do ISEP/IPP 8
  • 9. .Net Apprentice // codigo html inserir password e username <body> <form id="form1" runat="server"> <h3> Login</h3> <asp:Label id="Msg" runat="server" /><br /> Username: <asp:Textbox id="UsernameTextbox" runat="server" /><br /> Password: <asp:Textbox id="PasswordTextbox" runat="server" /><br /> <asp:Button id="LoginButton" Text="Login" OnClick="Login_OnClick" runat="server" /> <asp:CheckBox id="NotPublicCheckBox" runat="server" /> Check here if this is <span >not</span> a public computer. </form> </body> </html> 16 class MembershipProvider Alguns métodos ValidateUser CreateUser DeleteUser FindUsersByName GetAllUsers GetNumberOfUsersOnline …. 17 (C) Laboratório .NET do Departamento de Engenharia Informática do ISEP/IPP 9