2010-12-07 14 views
1

mise à jour à ma question ..Est-ce accepté comme exemple en utilisant une session?

la meilleure façon d'assurer la sécurité acceptable est d'utiliser l'administration du site Web ASP.NET Outil ce qui suit est seulement une démo à utiliser session, mais il est NON RECOMMANDÉ pour usage professionnel.

S'il vous plaît suivre les conseils de PhillFox pour obtenir de meilleurs résultats

Login.aspx

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Login.aspx.vb" Inherits="Login" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
<title></title> 
</head> 
<body> 
<form id="form1" runat="server"> 
<div> 

</div> 
UserName<br /> 
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
<br /> 
Password<br /> 
<asp:TextBox ID="TextBox2" runat="server" TextMode="Password"></asp:TextBox> 
<br /> 
<asp:Button ID="Button1" runat="server" Text="Login" /> 
<asp:AccessDataSource ID="AccessDataSource1" runat="server" 
    DataFile="~/App_Data/pr.mdb" 
    SelectCommand="SELECT [username], [role] FROM [users] WHERE (([username] = ?) AND ([password] = ?))"> 
    <SelectParameters> 
     <asp:ControlParameter ControlID="TextBox1" Name="username" PropertyName="Text" 
      Type="String" /> 
     <asp:ControlParameter ControlID="TextBox2" Name="password" PropertyName="Text" 
      Type="String" /> 
    </SelectParameters> 
</asp:AccessDataSource> 
</form> 
</body> 
</html> 

Login.aspx.vb

Imports System.Data.OleDb 

Partial Class Login 
Inherits System.Web.UI.Page 


Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)  Handles Button1.Click 

    Dim mygr As New GridView 
    mygr.DataSource = AccessDataSource1 
    mygr.DataBind() 
    Me.form1.Controls.Add(mygr) 

    If mygr.Rows.Count > 0 Then 
     Session("username") = TextBox1.Text 
     Session("role") = mygr.Rows(0).Cells(1).Text.ToString 
     Response.Redirect("default.aspx") 
    Else 
     Response.Redirect("login.aspx") 
    End If 
End Sub 


End Class 

Répondre

4

Ils meilleure façon de gérer la sécurité pour votre site est d'utiliser bu de .Net ilt dans l'authentification par formulaire. Vous pouvez en apprendre plus en consultant cette visite sur le site MSDN: http://msdn.microsoft.com/en-us/library/879kf95c(VS.80).aspx.

+1

Une fois que vous avez configuré le fournisseur d'appartenances détaillées dans le lien ci-dessus, vous pouvez utiliser le construit en LoginControls, ou utiliser l'existant les contrôles que vous avez détaillés dans votre question; mais je recommande d'aller avec ce que .Net fournit, toutes les fonctionnalités dont vous avez besoin sont déjà inclus. – PhillFox

+1

Cher PhillFox, cela se traduira par une base de données SQL Express contenant des rôles et des utilisateurs. ce dont j'ai besoin est le même mais avec la base de données Microsoft Access NOT SQL. –

+1

À droite, il est possible d'utiliser Access au lieu de SQL Express. Voici un article qui explique comment utiliser Access comme base de données pour stocker vos informations d'adhésion: http://www.4guysfromrolla.com/articles/010307-1.aspx. – PhillFox

1

Je suis d'accord avec phillfox les membres .Net est bien sûr beaucoup plus supérieure que votre solution, si vous décidez d'utiliser une base de données d'accès dans votre back-end garder à l'esprit que:

ne peux pas utiliser -you LINQ to SQL avec back-end d'accès

-max 2 Go

-max 256 connexions simultanées