PDA

View Full Version : سوال: login در asp.net



صنم
شنبه 25 خرداد 1387, 10:36 صبح
سلام
مشکل من در نوشتن login برای کاربران می باشد در asp کلاسیک من این کار را با استفاده از کدهای زیر انجام داده ام ، در ابتدای ورود به برنامه اگر کاربر usename و password صحیحی وارد کرد بتواند وارد صفحه مورد نظر شود و تا زمانی که کاربر از برنامه خارج نشده بتوانم به usename و password کاربر دسترسی داشته باشم.
در asp کلاسیک من از روش زیر استفاده می کردم :
فایل global.asa :



<script language=vbscript runat=server>
sub session_onstart()
set session("name")=""
set session("password")=""
set session ("validation")=false
end sub
sub session_onend()
set session("name")=nothing
set session("password")=nothing
set session ("validation")=nothing
end sub
</script>



فایل login :


<BODY>
<%
session("name")=""
session("password")=""
session("validation")=false%>

<form method="get" action="test_user " id=form1 name=form1>
<TABLE cellSpacing=1 cellPadding=1 width="75%" border=1 dir=rtl align=center>

<TR>
<TD><FONT color=crimson>Username</FONT></TD>
<TD><INPUT id=text1 name=User size="20"></TD></TR>
<TR>
<TD><FONT color=crimson>Password</FONT></TD>
<TD><INPUT id=text1 name=Password type=password size="20"></TD></TR>
<TR>
<TD colspan=2 align=middle><INPUT style="WIDTH: 78px; FONT-FAMILY: tahoma; HEIGHT: 24px" type=submit size=62 value=تاييد></TD></TR>
</TABLE>
</form>
</BODY>


فایل test_user :



<BODY>
<%if (Request.QueryString ("user")="")then
session("flag")=true%>
<a href="user_gostaresh.asp">کاربری که وارد کرده اید وجود ندارد لطفا دوباره سعی کنید</a>
<%else
if (Request.QueryString ("password")="")then
session("flag")=true%>
<a href="user_gostaresh.asp">کاربری که وارد کرده اید وجود ندارد لطفا دوباره سعی کنید</a>

<%
else
dim objconn
set objconn=server.CreateObject("adodb.connection")
objconn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+server.mappath("gavahi_gostaresh.mdb")+";Persist Security Info=False"

%>
<%
dim t1
dim t2
dim icount
dim strsql
t1=trim(Request.QueryString("user"))
t2=trim(Request.QueryString("password"))
t1=trim(t1)
t2=trim(t2)
strsql="select * from User1 where(( Username like '"& t1 & "') and ( password like '"& t2 & "'))"
%>
<%
dim objrs
set objrs=server.CreateObject ("ADODB.recordset")
objrs.Open strsql,objconn,1,3
%>
<%
if objrs.RecordCount<>0 then
session("validation")=true
session("name")=objrs.Fields("Username")
session("password")=objrs.Fields("password")
Response.redirect("main_gostaresh.asp") ' bayad redirect avas beh safheyeh sefaresh shavad
else
session("validation")=false%>
<a href="user_gostaresh.asp">کاربری که وارد کرده اید وجود ندارد لطفا دوباره سعی کنید </a>
<%end if

%>

<%objrs.close
set objrs=nothing
objconn.close
set objconn=nothing
end if
end if
%>
</BODY>


حالا می خوام که با استفاده از asp.net این کار را انجام و نمی دانم که باید چه کار کنم لطفا یکی کمکم کنه .

salehbagheri
شنبه 25 خرداد 1387, 11:14 صبح
از داخل ToolBox يك كنترل Login درگ كن تو صفحه. همين!
نياز به هيچ كد اضافه اي هم نيست.

صنم
شنبه 25 خرداد 1387, 11:24 صبح
ممنونم که جواب دادید .ولی چون من با asp.net زیاد آشنا نیستم می خواستم بدونم بعد از اینکه از این روش استفاده کردم در صفحات بعدی ام چه جوری می تونم به username کاربر دسترسی پیدا کنم . و سوال دیگه ام هم اینه که اگر اعتبارسنجی کاربر به این سادگی است پس این form Authentication ها در asp.net به چه دردی می خورد؟

KavoshGar_ir
شنبه 25 خرداد 1387, 20:23 عصر
ممنونم که جواب دادید .ولی چون من با asp.net زیاد آشنا نیستم می خواستم بدونم بعد از اینکه از این روش استفاده کردم در صفحات بعدی ام چه جوری می تونم به username کاربر دسترسی پیدا کنم . و سوال دیگه ام هم اینه که اگر اعتبارسنجی کاربر به این سادگی است پس این form Authentication ها در asp.net به چه دردی می خورد؟
در صورتی که یوزرنیم و پسورد چک شد نام یوزر را به وسیله یک Session یا کوکی مدیریت کنید! مثلا برای سشن پس از لوگین موفق ایجاد و در صفحات محافظت شده وجودش چک بشه و برای کوکی هم به همین منوال ...

درضمن کنترل لوگین که دراگ کرده اید فقط کار شما را برای دایزن یک لاگین و ولیدتورها ساده کرده ...

توصیه می کنم حتما یک سمپل از سایتهایی مثل www.codeproject.com دانلود کنید تا در جریان کار قرار گیرید.