Membership e Login
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
Membership e Login

Membership e Login

Objectivos:
 Criar página principal com link para login


Abrir página de login – Login.aspx


LoginView control
Apresentação do nome do utilizador


Login control
Validação do utilizador e regresso à página principal
com apresentação de sucesso na validação


LoginStatus control
LoginName control
Impedir acesso a páginas para utilizadores não
autenticados

Criar rules
2
Criar Web site IIS local
3
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
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:




Elementos opcionais:










user name único para identificar o utilizador
password para verificar a identidade do utilizador
button para enviar a informação ao servidor
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 loginado
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
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
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
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
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(UsernameTextbox.Text,
NotPublicCheckBox.Checked);
else
Msg.Text = "Login failed. Please check your user name and password and try again.";
}
// 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>
15
class MembershipProvider

Alguns métodos







ValidateUser
CreateUser
DeleteUser
FindUsersByName
GetAllUsers
GetNumberOfUsersOnline
….
16
Download

Membership e Login