PDA

View Full Version : روشهای log in



Leo_messi
چهارشنبه 12 دی 1386, 22:03 عصر
سلام دوستان
من یه تازه کارم و از asp زیاد چیزی نمیدونم وحالا میخوام یه پروژه تحویل بدم (چه شود) اگه لطف کنین و روشهای لاگ این تو asp.net رو بگین ممنون میشم(اینکه چه جوری یه کاربر تو همه صفحات شناخته بشهو..)

Leo_messi
چهارشنبه 12 دی 1386, 22:22 عصر
یا برای اون Session تعریف کنی و اگه می خوای حرفه ای کار کنی می تونی از role و membership استفاده کنی.
میشه کمی توضیح بدین(یه مثال یزنین)

cheshm_baroni
چهارشنبه 12 دی 1386, 22:32 عصر
ببین دوست عزیز اگه میخوای مبتدی کار کنی می تونی از Session استفاده کنی واگه می خوای حرفه ای کار کنی از لاگین asp استفاده کن یا خودت یه لاگین بنویس +(role,membership).
برای اینکه این روش ها رو یاد بگیری می تونی یه سرچ کوچولو توی همین جا یا گوگل انجام بدی...

fatemeh rahimi
پنج شنبه 13 دی 1386, 08:55 صبح
یه راه اینه که وقتی login شد یه ticket بهش بدی که بعد از این هر جا لازم بود با اون ticket کار کنی.

mp2009
پنج شنبه 13 دی 1386, 21:05 عصر
اگه ار dot net استفاده میکنید بهترین انتخاب همان یسیتم تصدیق هویت خود دات نت هستش

baran110
پنج شنبه 13 دی 1386, 21:43 عصر
با سلام
من از یک روش استفاده کردم که براتون ارسال می کنم . البته باید داخل web.configیک سری تنظیمات رو انجام بدید مثل ست کردنform authentication,authorization و قرار دادن role در صفحات.

using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
publicpartialclass login : System.Web.UI.Page
{
string conStr = ConfigurationManager.ConnectionStrings["student"].ConnectionString;
protectedvoid Page_Load(object sender, EventArgs e)
{

}
protectedvoid btn_login_Click(object sender, EventArgs e)
{
FormsAuthentication.Initialize();
//setting of connection for authentication users.
// SqlConnection conn = new SqlConnection();
SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrin gs["student"].ConnectionString.ToString());
SqlCommand cmd_fetch_up = connection.CreateCommand();
cmd_fetch_up.CommandText = "select * from _student_sample where cast(username as varbinary)=cast(@username as varbinary)" +
"and CAST(password as varbinary)=CAST(@password as varbinary)";
cmd_fetch_up.Parameters.Add("@username", SqlDbType.NVarChar, 64).Value = username.Text;
cmd_fetch_up.Parameters.Add("@password", SqlDbType.NVarChar, 128).Value = password.Text;

SqlDataReader reader;
reader = null;
connection.Open();
try
{
reader = cmd_fetch_up.ExecuteReader();
if (reader.Read())
{
Session["username"] = reader["username"].ToString();
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, username.Text, DateTime.Now, DateTime.Now.AddMinutes(30), false, reader["roles"].ToString(), FormsAuthentication.FormsCookiePath);
string hash = FormsAuthentication.Encrypt(ticket);
HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, hash);
if (ticket.IsPersistent)
cookie.Expires = ticket.Expiration;
Response.Cookies.Add(cookie);
string returnUrl = Request.QueryString["ReturnUrl"];
if (returnUrl == null)
{
switch (reader["roles"].ToString())
{
case"student":
returnUrl = "~/student/dadan_e_azmoon.aspx";
break;
case"operator":
returnUrl = "~/operator/vared_kardan_e_soaalate_karshenasi_arshad.aspx";
break;
default:
returnUrl = "login.aspx";
break;
}
}
Response.Redirect(returnUrl);
}
else
{
//tr_message.Visible = true;
lbl_message.Text = "رمز یا کلمه عبور اشتباه است.";
}
}
finally
{
reader.Close();
connection.Close();
}
}



protectedvoid btn_cancel_Click(object sender, EventArgs e)
{
Response.Redirect("login.aspx");
}
}

baran110
پنج شنبه 13 دی 1386, 21:46 عصر
تنظیمات داخل web.config کلی به صورت زیر می باشد و درداخل وب دات کانفیگ هر کدام از فولدر ها فقط کافی است سطح دسترسی را مشخص کنید.
<authenticationmode="Forms">
<formsloginUrl="login.aspx"protection="All"path="/"timeout="30">
</forms>
</authentication>
<authorization>
<allowusers="*"/>
</authorization>

soghra
سه شنبه 25 دی 1386, 18:11 عصر
ببخشید آخه وقتی از سیستم لاگین خود دات نت استفاده می کنیم یک دیتا بیس توی اکسس درست می کنه حالا اگه خودمون هم یک دیتا بیس با اس کیو ال داشته باشیم چطور می تونیم اینها رو به هم ربط بدیم یا نیازی به ربط دادن ندارند؟

mahdi_farhani
سه شنبه 25 دی 1386, 19:22 عصر
تو SQL هم برات درست میکنه

soghra
چهارشنبه 26 دی 1386, 12:44 عصر
یعنی میشه تو همون دیتا بیس خودم اطلاعاتشو اضافه کنه؟؟؟

mahdi_farhani
چهارشنبه 26 دی 1386, 14:32 عصر
تو دیتابیس خودت نمیدونم بشه ، یا نه
من زیاد با Login خوده دات نت کار نکردم . فقط اون اوایل که داشتم تست میکردم ، دیتابیس SQl تونستم بسازم . Login خودش که زیاد به دردم نخورد ، خیلی امکانات داره ، ولی من باش حال نکردم .

mp2009
جمعه 28 دی 1386, 16:23 عصر
مهدی جان میشه بگی شما از چه روشی برای ثبت نام و کلا تصدیق هویت کاربران استفاده میکنی؟

soghra
دوشنبه 01 بهمن 1386, 14:09 عصر
ا اینکه می شه در همون دیتا بیسی که می سازه من جدول ها شو تغییر بدم یا اینکه خودم جدولی اضافه کنم؟

hamedgh
دوشنبه 01 بهمن 1386, 19:13 عصر
ا اینکه می شه در همون دیتا بیسی که می سازه من جدول ها شو تغییر بدم یا اینکه خودم جدولی اضافه کنم؟

همه کاری می توانی بکنی
هم دیتابیسش را در دیتا بیس خودت می سازد
هم می توانی ان را تغییر دهی هم اضافه کنی
مشکلی هم ندارد

mahdi_farhani
دوشنبه 01 بهمن 1386, 23:00 عصر
من از جداول خودم و Formsautontication استفاده میکنم .