membership e login walkthrough: creating a web site with membership and user login vs.80).aspx
TRANSCRIPT
Membership e Login
Walkthrough: Creating a Web Site with Membership and User Login
http://msdn2.microsoft.com/en-us/library/879kf95c(VS.80).aspx
2
Membership e Login Web Site Administration Tool
3
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
4
Criar Web site IIS local
5
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
6
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
7
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.aspxInserir controlo Login
8
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 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.
9
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
10
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
11
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]
12
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
13
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)
14
Controlos de Login Registar novo utilizador
Criar página register.aspx Inserir controlo CreateUserWizard Configurar propriedade ContinueDestinationPageUrl para
a página principal
15
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
16
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>
17
class MembershipProvider Alguns métodos
ValidateUser CreateUser DeleteUser FindUsersByName GetAllUsers GetNumberOfUsersOnline ….