سلام دوستان
فرم ورود به سایتو چه جوری باید طراحی کنیم که فقط با عضویت در سایت کاربر بتونه صفحات سایتو ببینه
از دیتا بیس sql server 2008 و asp.net 2008 استفاده میکنم.
ممنون میشم اگه کسی بتونه کمکم کنه
سلام دوستان
فرم ورود به سایتو چه جوری باید طراحی کنیم که فقط با عضویت در سایت کاربر بتونه صفحات سایتو ببینه
از دیتا بیس sql server 2008 و asp.net 2008 استفاده میکنم.
ممنون میشم اگه کسی بتونه کمکم کنه
این کار خودش یک مبحثه ...
در مورد Membership یک سرچ کن مشکلی بود بپرس.
فقط یه login معمولی چطور که بیشتر سایتها ازش استفاده میکنن.
اونو کسی نداره؟
سلام دوستان
من از دیتابیس sal server 2008 استفاده میکنم و از asp.net 2008 با استفاده از vb
میخوام برای سایتم login درست کنم به طوری که بعد از لاگین کردن کاربر دسترسی به همه ی صفحهات سایت رو داشته باشه. فقط کد لاگین کردن رو میخوام البته کد های web.config من اینه
<?xml version="1.0"?>
<configuration>
<system.web>
<customErrors mode="Off"/>
<authentication mode="Forms">
<forms name="MyAppCookie" loginUrl="login.aspx" protection="All" timeout="30" defaultUrl="Default.aspx"></forms>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
<compilation debug="true"/></system.web>
</configuration>
حالا مشکل در برقراری ازتباط با sql server و جست و جو در دیتابیس رو دارم. ممنون میشم کسی بتونه کمکم کنه 2 روزه دارم سرچ میکنم ولی به نتیجه ای نمیرسم.
سلام دوست عزیز
اساتید توصیه می کنن که از login خود vs استفاده بشه .
ولی برای این که کارت راه بیفته فکر کنم این به دردت بخوره:
پشت باتن ورود اینو بنویس :
if(textbox1.text=="نام کاربری" & textbox2.text=="کلمه عبور")
{
session["name"]=textbox1.text;
response.redirect("صفه مورد نظر");
}
else
{
lable1.text="نام کاربری یا کلمه عبور اشتباه است"
}
این دستور بالا برای یه کاربر نوشته شده... میتونی با یه حلقه این رو برای تمام کاربران بنویسی
این چند خط زیر رو هم توی page_load تمامی صفحاتی که میخوای بدون ثبت نام کسی دسترسی نداشته باشه بنویس
if(!ispostback)
{
if(session["name"]==null)
response.redirect("default.aspx")
}
کدی که برای Web.config نوشتی به علاوه ایک کدها برای صفحه Login.aspx :
برای تصدیق هویت کاربر :
_user = CheckUser(TB_User.Text);
if (_user != null)
{
if (_user.Password == TB_Pass.Text)
{
FormsAuthenticationTicket Authticket = new FormsAuthenticationTicket(
1,
TB_UserName.Text,
DateTime.Now,
DateTime.Now.AddMinutes(30),
true,
_user.Role,
FormsAuthentication.FormsCookiePath);
string hash = FormsAuthentication.Encrypt(Authticket);
HttpCookie Authcookie = new HttpCookie(FormsAuthentication.FormsCookieName, hash);
if (Authticket.IsPersistent) Authcookie.Expires = Authticket.Expiration;
Response.Cookies.Add(Authcookie);
string returnUrl = Request.QueryString["u"];
if (returnUrl == null) returnUrl = "http://Website.com";
Response.Redirect(returnUrl);
}
}
تابع CheckUser برای پیدا کردن کاربر در SQL :
public User CheckUser(String Email)
{
DataClassesSQLDataContext DB = new DataClassesSQLDataContext();
var q = (from p in DB.Tbl_Users
where p.Email.Trim() == Email
select p).Single();
User _user = new User();
if (q != null)
{
_user.UserID = q.Email.Trim().ToString();
_user.Password = q.Pass.Trim().ToString();
_user.Role = q.Role.Trim().ToString;
}
return _user;
}
کلاس User مورد نیاز :
public class User
{
public User()
{
//
// TODO: Add constructor logic here
//
}
private string _userID;
private string _password;
private string _role;
public string UserID
{
get
{
return _userID;
}
set
{
_userID = value;
}
}
public string Password
{
get
{
return _password;
}
set
{
_password = value;
}
}
public string Role
{
get
{
return _role;
}
set
{
_role = value;
}
}
}
البته میتونی برای امنیت بیشتر پسورد هارو هم Hash بکنی و در SQL ذخیره کنی.