PDA

View Full Version : ساخت فرم ورود



reddevilutd
یک شنبه 29 فروردین 1395, 05:01 صبح
با عرض سلام
من در محیط asp.net و با زبان c# برنامه می نویسم و در ساخت فرم ورود به مشکل برخورده ام. یک فرم ورود دارای دو سطح دسترسی مدیر و کاربر می خواهم که در بالای صفحه ی من عبارت "ورود" باشه که با زدن این عبارت فرم ورود نمایان بشه ، نه اینکه فرم ورود در همان ابتدا روی صفحه قرار بگیرد. کسی از دوستان می تونه راهنمایی کنه ؟
با تشکر فراوان

پیام حیاتی
یک شنبه 29 فروردین 1395, 06:23 صبح
سلام
کاربر عزیز سوال شما بسیار کلی هست ، در طراحی برای پنجره Popup جهت ورود مشکل دارید یا طراحی بانک ، یاد کد نویسی ؟چقدر از کار را انجام داده اید؟

reddevilutd
یک شنبه 29 فروردین 1395, 07:14 صبح
با عرض سلام
پایگاه داده ام را به درستی طراحی کرده ام.من با استفاده از html قالب فرم را طراحی کرده ام و کد های سی شارپ آن را نوشته ام ولی در اجرا با خطای enableEventValidation="True" مواجه می شوم. و اگر از <asp:Login> استفاده نمایم، قالب سایت من به هم می ریزید چون تمام فرم را به یک باره نشان می دهد . می خواهم فرم ورود من همان کد های html باشد تا ظاهر سایتم حفظ شود.
با تشکر از وقتی که صرف کردی دوست عزیز

mohammad-i
دوشنبه 30 فروردین 1395, 09:00 صبح
امیدوارم منظورت رو درست متوجه شده باشم.

میتونی به جای html از کنترل های خود asp استفاده کنی و استایل رو روی اونا ست کنی.
بعد هم کد نویسی کنی که تکست باکس ها رو بررسی کنی و در صورتی که با مشخصات دیتابیس یکی بود اجازه ورود بده.
برای دسترسی مدیر و کاربر هم یه شرط میزاری که سطح دسترسی رو توی دیتابیس چک کنه اگه مدیر بود بفرسته به پنل مدیر و اگه کاربر بود به پنل کاربر.


* با html هم میشه این کار رو کرد ولی اینجوری ساده تره و میتونی همون استایل هم ست کنی.

maxpayn2
سه شنبه 31 فروردین 1395, 08:01 صبح
بالای صفحه یا هر جای دیگه ای که دوست داری میتونی از <asp:LoginView> استفاده کنی . مثلا :




<asp:LoginView ID="lvUserOptions" runat="server">
<AnonymousTemplate>
<asp:HyperLink ID="hlLogin" runat="server" NavigateUrl="~/Login.aspx" Font-Underline="false">ورود به سیستم</asp:HyperLink>
</AnonymousTemplate>
<LoggedInTemplate>
<asp:Label ID="lblName" runat="server"></asp:Label>
(
<asp:LinkButton ID="lbLogout" CausesValidation="false" runat="server"
onclick="lbLogout_Click" Font-Size="Small" Font-Underline="false">خروج</asp:LinkButton>
)
</LoggedInTemplate>
</asp:LoginView>


اگه طرف لاگین نکرده باشه یه لینک با متن ورود به سیستم (یا هرر چی دلت میخواد) بهش نشون میده که تارگت لینک صفحه لاگینه که خودت درست کردی اگه هم لاگین کرده باشه تو اون لیبل اسمش رو از دیتابیس میخونی مینویسی . اینجوری :




protected void Page_Load(object sender, EventArgs e)
{
string Username = HttpContext.Current.User.Identity.Name;


if (!Page.IsPostBack)
{
if (Username != string.Empty)
{
Label lblN = (Label)lvUserOptions.FindControl("lblName");


lblN.Text = "آقای " + (from i in context.Core_Users where i.Username == Username select i.Family).SingleOrDefault();


}


}
}




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



FormsAuthentication.RedirectFromLoginPage(txtUsern ame.Text, true);


توی اون لینک باتنی هم که تو LoginView داشتی باید آخرین کاری که میکنی کد زیر باشه تا بهمه یارو لاگ اوت کرده :




FormsAuthentication.SignOut();