PDA

View Full Version : Authentication و چند سوال ابتدائی ؟



merlin_vista
جمعه 18 آبان 1386, 12:02 عصر
آقا من تا قبل از این که با Authentication آشنا شوم برای تاًیید کاربران از session استفاده میکردم ولی با دیدن این قابلیت Asp.net به این فکر افتاد که از این قابلیت برای دسترسی افراد صفحات استفاده کنم !!! :متفکر:
در حین انجام کار چند سوال برای من پیش آمده است که با جستجو جواب آنها را به دست نیاوردم

1 - من برای ذخیره سازی اکانت ها از یک جدول استفاده میکنم که در قسمت تثبت نام آن فیلدی به جدول اضافه میشود که همان اکانت کاربر میباشد ؟ حالا سوال من این است که از Authentication چگونه استفاده بکنم که نام کاربری و رمز عبور با جدولم چک شود و بعد اجازه دسترسی به صفحات را بدهم ! (لطفاً مراحل کار را بنویسید)
2 - چگونه برای این کار یک صفحه لوگین درست کنم
3 - من میخواهم بعضی از صفحات را فقط مدیر سیستم ببینید برای این کار چگونه کاربران را از مدیر تشخیص بدهم
4 - چگونه LOGOUT بسازم

من تمام این کار ها را با Session انجام دادم ولی با این نمیدانم اصلاً از کجا شروع کنم :عصبانی++:

m.hamidreza
جمعه 18 آبان 1386, 14:10 عصر
http://www.codeproject.com/aspnet/FormAuthenticnAuthorizn.asp
http://www.codeproject.com/aspnet/formsroleauth.asp


خیلی چیز خوبی نیست ! دستی کد بنویسی بیشتر به اعصابت مسلطی ! :لبخند:

hamedgh
جمعه 18 آبان 1386, 20:41 عصر
این بحثی که شما می خواهید خیلی کوتاه نیست که برایتان اینجا توضیح بدهم
برای شروع اگر کتاب های Asp.net داری قسمت MemberShip And RoleManagment ُ
را نگاهی بینداز بعد اگر سوالی داشتی بپرس ما در خدمتیم
روال کار را هم تقریبا در پست قبلیم گفت
م

از قسمت website / Asp.net Configuration ویزارد انجام اینکار است تمام سوالاتت را حل می کند بانک هم خودش می سازد و کاربران را خودش در بانک چک میکند نیازی به انجام کد نویسی از طرف شما نیست و خیلی . . .
البته بعد از اینکه به قسمت ویزاردش مسلط شدی و روال کار را یاد گرفتی می توانی با کد نویسی اینکار ها را انجام دهی

hamedgh
جمعه 18 آبان 1386, 21:10 عصر
- من برای ذخیره سازی اکانت ها از یک جدول استفاده میکنم که در قسمت تثبت نام آن فیلدی به جدول اضافه میشود که همان اکانت کاربر میباشد ؟ حالا سوال من این است که از Authentication چگونه استفاده بکنم که نام کاربری و رمز عبور با جدولم چک شود و بعد اجازه دسترسی به صفحات را بدهم ! (لطفاً مراحل کار را بنویسید)

بعد از ساخته شدن دیتا بیسش (در حالت ویزارد یا در command این کد را اجرا کنی aspnet_regsql)



چگونه برای این کار یک صفحه لوگین درست کنم


- من میخواهم بعضی از صفحات را فقط مدیر سیستم ببینید برای این کار چگونه کاربران را از مدیر تشخیص بدهم
از کد زیر می توانی استفاده کنی

<asp:Login ID="Login1" runat="server" FailureText="!!! تلاش شما برای ورود اثری نداشت دوباره تلاش نمایید "
LoginButtonText="ورود" PasswordLabelText="رمز عبور :" PasswordRequiredErrorMessage="نوشتن پسورد ضروری است"
RememberMeText="مرا به خاطر بسپار" TitleText="ورود" UserNameLabelText="نام کاربری :"
UserNameRequiredErrorMessage="نام کاربری ضروری است" DestinationPageUrl="~/Default.aspx" OnAuthenticate="Login1_Authenticate" BackColor="#EFF3FB" BorderColor="#B5C7DE" BorderPadding="4" BorderStyle="Solid" BorderWidth="1px" Font-Names="Verdana" Font-Size="0.8em" ForeColor="#333333" Width="189px">
<TitleTextStyle BackColor="#507CD1" Font-Bold="True" Font-Size="0.9em" ForeColor="White" />
<InstructionTextStyle Font-Italic="True" ForeColor="Black" />
<TextBoxStyle Font-Size="0.8em" />
<LoginButtonStyle BackColor="White" BorderColor="#507CD1" BorderStyle="Solid" BorderWidth="1px"
Font-Names="Verdana" Font-Size="0.8em" ForeColor="#284E98" />
</asp:Login>

و در رویداد OnAuthenticate="Login1_Authenticate" ان کد زیر را می نویسی


if (Membership.ValidateUser(Login1.UserName.ToString( ), Login1.Password.ToString()))
{

if (Roles.IsUserInRole(username, "Admin"))
{

Response.Redirect("Admin/Default.aspx);
}
else if (Roles.IsUserInRole(username, "karbar"))
{

Response.Redirect("Teacher/Default.aspx");

}

}



چگونه LOGOUT بسازم

کد زیرا بنویس دیگر کار خاصی لازم نیست انجام بدهی

<asp:LoginStatus ID="LoginStatus1" Runat="server" LoginText="ورود" LogoutAction="RedirectToLoginPage" LogoutPageUrl="~/login.aspx" LogoutText="خروج" />

البته web.config ار درست باید تنظیم کرده باشی تا کد با لا کار کند


<authentication mode="Forms" >
<forms loginUrl="login.aspx" path="./hamed" protection="All"
timeout="15"
>

</forms>
</authentication>
<authorization>
<allow roles="Admin"/>
<allow roles="karbar"/>
<deny users="?"/>
</authorization>

اگر برای صفحه ای کنترل خاصی خواستی می تونی از کد زیر استفاده کنی


<location path="~/Admin/ِDefault.aspx" >
<system.web>
<authorization>
<allow roles="Admin"/>
<deny users="*"/>
</authorization>
</system.web>
</location>

ولی با این حال اگر کتابی در مورد این کار بخوانی بد نیست
اگر سوالی دیگری بود ما در خدمتیم

khz-web1
جمعه 31 خرداد 1387, 03:04 صبح
میشه لطف کنید کتابی رو معرفی کنید که این مبحث رو کامل توضیح داده باشه ....

smrb59
جمعه 31 خرداد 1387, 09:45 صبح
کتاب آموزش گام به گام asp.net.02 موسسه ناقوس تالیف آقای علیرضا انصاری.من که با این کتاب شروع کرده بودم ولی بازم دارم برای لاگین و رجیستر و.. کداشو خودم مینویسم اینجوری بهتره چون میدونم که چه اتفاقاتی می افته !!

solisoheila
سه شنبه 30 تیر 1388, 15:14 عصر
System.Web.Security.FormsAuthentication.RedirectFr omLoginPage(txtUserName.Text, false); // false
من با این دستور پیش فرض می رم داخل صفحه default
چی کار کنم پیش فرض به این صفحه نرم
merce

khorsandreza
سه شنبه 30 تیر 1388, 15:43 عصر
دوست من یک نمونه برات پست میکنم یک فروشگاه الکترونیکی ساده است

solisoheila
سه شنبه 30 تیر 1388, 23:01 عصر
merce az rahnamait

solisoheila
سه شنبه 30 تیر 1388, 23:07 عصر
چگونه میتونم متن های مختلف در یک وب لاگ در یک صفحه نمایش بدم
چندین لینگ در یک صفحه دارم می خوام روی هر لینگی که کلیک کردم داخل یک صفحه متنش نمایش داده بشود
دستور زیر فقط یک لینگ هدایت می کنه.کمکم کنید مرسی .فرصت ندارم برای فکر کردن.باز هم ممنون از پاسخ به سوال قبلی
<asp:HyperLinkField NavigateUrl="~/Post.aspx?PostID=1" Text="More" />