2010-12-07 8 views
1

更新..これはセッションを使用した例として受け入れられますか?私の質問に

許容セキュリティを実現する最良の方法は、次のセッションを使用する唯一のデモでASP.NET Webサイト管理ツール を使用することですが、それはを推奨されていませんプロの使用のために。

Login.aspxの

より良い結果を達成するためにPhillFoxのアドバイスに従ってください

<%@ 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 

答えて

4

に彼らの最良の方法あなたのサイトのセキュリティを処理するには.Netのbuを使用することですフォーム認証のilt。この詳細は、MSDNサイトのhttp://msdn.microsoft.com/en-us/library/879kf95c(VS.80).aspxを参照してください。私はあなたがあなたのバックエンドでAccessデータベースを使用することを決定したがあれば、当然のネットの会員があなたのソリューションよりもはるかに優れているphillfox に同意

+1

あなたは上記のリンクで詳述メンバシッププロバイダを設定したら、あなたはLoginControlsに建てられた使用、または既存を使用することができますとあなたがあなたの質問で詳述したコントロール。しかし、.Netが提供するものと一緒に行くことをお勧めします。あなたが必要とするすべての機能は既に含まれています。 – PhillFox

+1

PhillFox様、これにより、役割とユーザーを含むSQL Expressデータベースが作成されます。私が必要なのは同じですが、Microsoft AccessのSQLデータベースではありません。 –

+1

右、SQL ExpressではなくAccessを使用することは可能です。ここでは、Accessをデータベースとして使用してメンバーシップ情報を保存する方法を説明する記事を掲載しています。http://www.4guysfromrolla.com/articles/010307-1.aspx – PhillFox

1

があることに注意してください:

- あなたは、SQLにLINQを使用するカントアクセスバックエンド

-max 2ギガバイト

-max 256同時接続

関連する問題