khz-web1
پنج شنبه 10 بهمن 1387, 20:49 عصر
با سلام و احترام
من با استفاده از کد زیر عمل authentication رو انجام میدم
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim con As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\ASP.NET\Authentication\App_Data\db.mdb")
Dim cmd As New OleDbCommand
Dim sql As String
sql = "select count(*) from table1 where username=? and password=?"
cmd.Connection = con
cmd.CommandText = sql
cmd.Parameters.AddWithValue("username", TextBox1.Text)
cmd.Parameters.AddWithValue("password", TextBox2.Text)
con.Open()
If cmd.ExecuteScalar = 1 Then
FormsAuthentication.RedirectFromLoginPage(TextBox1 .Text, True)
Response.Redirect("defalt/default.aspx")
ElseIf cmd.ExecuteNonQuery = 0 Then
Label1.Text = "Not varibale"
con.Close()
End If
End Sub
حالا می خوام در کانفیگ خودم یک سری صفحه رو محدود کنم و یک سری رو باز بزارم ... مثلا می خوام صفحه default.ASPX رو محدود کنم(یعنی فقط کاربرانی که لوگین کردن اجازه دسترسی داشته باشند )
و در کانفیگ خودم از کد زیر استفاده کردم
<?xml version="1.0"?>
<configuration>
<appSettings/>
<connectionStrings/>
<system.web>
<compilation debug="true" strict="false" explicit="true"/>
<pages>
<namespaces>
<clear/>
<add namespace="System"/>
<add namespace="System.Collections"/>
<add namespace="System.Collections.Specialized"/>
<add namespace="System.Configuration"/>
<add namespace="System.Text"/>
<add namespace="System.Text.RegularExpressions"/>
<add namespace="System.Web"/>
<add namespace="System.Web.Caching"/>
<add namespace="System.Web.SessionState"/>
<add namespace="System.Web.Security"/>
<add namespace="System.Web.Profile"/>
<add namespace="System.Web.UI"/>
<add namespace="System.Web.UI.WebControls"/>
<add namespace="System.Web.UI.WebControls.WebParts"/>
<add namespace="System.Web.UI.HtmlControls"/>
</namespaces>
</pages>
<authentication mode="Forms">
<forms name="MyAppCookie" loginUrl="login.aspx" protection="All" timeout="30">
<credentials passwordFormat="Clear">
</credentials>
</forms>
</authentication >
</system.web>
<location path="default.aspx">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>
</configuration>
ولی متاسفانه هیچ صفحه رو محدود نمی کنه ... از دوستان کسی هست که علت این رو بدونه ...
من با استفاده از کد زیر عمل authentication رو انجام میدم
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim con As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\ASP.NET\Authentication\App_Data\db.mdb")
Dim cmd As New OleDbCommand
Dim sql As String
sql = "select count(*) from table1 where username=? and password=?"
cmd.Connection = con
cmd.CommandText = sql
cmd.Parameters.AddWithValue("username", TextBox1.Text)
cmd.Parameters.AddWithValue("password", TextBox2.Text)
con.Open()
If cmd.ExecuteScalar = 1 Then
FormsAuthentication.RedirectFromLoginPage(TextBox1 .Text, True)
Response.Redirect("defalt/default.aspx")
ElseIf cmd.ExecuteNonQuery = 0 Then
Label1.Text = "Not varibale"
con.Close()
End If
End Sub
حالا می خوام در کانفیگ خودم یک سری صفحه رو محدود کنم و یک سری رو باز بزارم ... مثلا می خوام صفحه default.ASPX رو محدود کنم(یعنی فقط کاربرانی که لوگین کردن اجازه دسترسی داشته باشند )
و در کانفیگ خودم از کد زیر استفاده کردم
<?xml version="1.0"?>
<configuration>
<appSettings/>
<connectionStrings/>
<system.web>
<compilation debug="true" strict="false" explicit="true"/>
<pages>
<namespaces>
<clear/>
<add namespace="System"/>
<add namespace="System.Collections"/>
<add namespace="System.Collections.Specialized"/>
<add namespace="System.Configuration"/>
<add namespace="System.Text"/>
<add namespace="System.Text.RegularExpressions"/>
<add namespace="System.Web"/>
<add namespace="System.Web.Caching"/>
<add namespace="System.Web.SessionState"/>
<add namespace="System.Web.Security"/>
<add namespace="System.Web.Profile"/>
<add namespace="System.Web.UI"/>
<add namespace="System.Web.UI.WebControls"/>
<add namespace="System.Web.UI.WebControls.WebParts"/>
<add namespace="System.Web.UI.HtmlControls"/>
</namespaces>
</pages>
<authentication mode="Forms">
<forms name="MyAppCookie" loginUrl="login.aspx" protection="All" timeout="30">
<credentials passwordFormat="Clear">
</credentials>
</forms>
</authentication >
</system.web>
<location path="default.aspx">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>
</configuration>
ولی متاسفانه هیچ صفحه رو محدود نمی کنه ... از دوستان کسی هست که علت این رو بدونه ...