PDA

View Full Version : ساخت فرم مشخصات کاربران کارمندان ...



delphi77
چهارشنبه 21 شهریور 1386, 12:14 عصر
سوال من اینکه
من کارمندانی دارم که باید به سیستم login کنند من از برای کنترل ورود و خروج کاربران از دیتابیس پیشنهادی ماکروسافت استفاده کردم

به این شکل
http://barnamenevis.org/forum/showthread.php?p=386691#post386691

username در جدول aspnet_user و password در جدول aspnetmembership ذخیره می شود ,
پیشنهاد می کنید مواردی چون نام نام خانوادگی شماره تماس آدرس و.... در کجا و به چه شکل ذخیره شود

1- در همان جدول membership فیلدهای لازم اضافه شوند
2- جدولی ساخته و با userid به جدول membership مرتبط شود


authentication Provider Membership login control CreateUserWizard

delphi77
چهارشنبه 21 شهریور 1386, 15:02 عصر
بهتره از مدیران سایت بخواهیم که به جای forum یک wiki راه بندازند چون مشکلی که مطرح می شه اینقدر بی جواب می ماند که خود طرف باید جوابش را پیدا کنه؟!

rtech
چهارشنبه 21 شهریور 1386, 17:51 عصر
چرا از پروفایل استفاده نمیکنی ؟ Profile رو سرچ کن .

delphi77
شنبه 24 شهریور 1386, 08:54 صبح
فکر نمی کنم پروفایل جواب من باشه زیاد ازش خوشم نیامد
باور کنید کارمندان موندن رو دستم

سار
شنبه 24 شهریور 1386, 10:00 صبح
سوال من اینکه
من کارمندانی دارم که باید به سیستم login کنند من از برای کنترل ورود و خروج کاربران از دیتابیس پیشنهادی ماکروسافت استفاده کردم

به این شکل
http://barnamenevis.org/forum/showthread.php?p=386691#post386691

username در جدول aspnet_user و password در جدول aspnetmembership ذخیره می شود ,
پیشنهاد می کنید مواردی چون نام نام خانوادگی شماره تماس آدرس و.... در کجا و به چه شکل ذخیره شود

1- در همان جدول membership فیلدهای لازم اضافه شوند
2- جدولی ساخته و با userid به جدول membership مرتبط شود


authentication Provider Membership login control CreateUserWizard


هر کاربری یک ID داره و هر Application هم در این سیستم دارای یک ID هست اگر Profile جواب نمیده جدول خودت رو بساز و سعی کن اونها رو به هم ربط بدی نباید کار خیلی سختی باشه + اینکه میتونم بپرسم کار شما چیه که Profile و یا properties (در WEB.Config می تونی پیداش کنی) جواب گو نیست!!!

delphi77
شنبه 24 شهریور 1386, 10:12 صبح
+ اینکه میتونم بپرسم کار شما چیه که Profile و یا properties (در WEB.Config می تونی پیداش کنی) جواب گو نیست!!!

کارم که همینه که نوشتم ولی پروفایل انعطاف پذیر به نظر نمی رسه و کد نویسیش هم زیاده
آخه می دانی که من دنبال ...
http://barnamenevis.org/forum/showthread.php?t=75707

سار
شنبه 24 شهریور 1386, 10:18 صبح
نمیدونم منظورت از انعطاف پذیری چیه. من که تاحالا با اینها مشکلی نداشتم.

delphi77
شنبه 24 شهریور 1386, 10:18 صبح
شاید بهتر بود بپرسم که کامپوننت CreatUserWizard را نمی شه دستکاریش کرد که فیلدهای اضافه من در جدول خودم و یا خودش را نیز ویرایش کنه

سار
شنبه 24 شهریور 1386, 10:24 صبح
یادم قبلن گفته بودم جواب همه چیز در MSDN هست.
http://msdn2.microsoft.com/en-us/library/ms178342.aspx

delphi77
شنبه 24 شهریور 1386, 10:39 صبح
البته دست شما درد نکنه ولی من هم واسه اینکه msdn این همه طولانی پر از جزئیات توضیح می نویسه سراغش نمیرم یک نکته ما را بس است و نه این همه کد تو در تو

delphi77
شنبه 24 شهریور 1386, 10:53 صبح
شما منظورت از تنظیمات profile اینه

delphi77
شنبه 24 شهریور 1386, 12:05 عصر
این پروفایل کجا ذخیره می شه؟

delphi77
شنبه 24 شهریور 1386, 14:27 عصر
استاد من فیلدهام را بردم توی جدول aspnet_users بعد موقع ویرایش این error را داد


Disallowed implicit conversion from data type sql_variant to data type uniqueidentifier, table 'Request.dbo.aspnet_Users', column 'ApplicationId'. Use the CONVERT function to run this query.

delphi77
یک شنبه 25 شهریور 1386, 08:25 صبح
کسی کمک نمی کنه

سار
یک شنبه 25 شهریور 1386, 09:16 صبح
اطلاعات Profile در جدول aspnet_Profile ذخیره میشه.

delphi77
یک شنبه 25 شهریور 1386, 10:11 صبح
ولی اینکه فقط همین چهار پنجتا فیلد را داره پس من فیلدهایی که نیاز دارم را چه کنم؟!:خجالت:

سار
یک شنبه 25 شهریور 1386, 12:17 عصر
عزیزم تو لازم نیست کاری بکنی کارهای لازم رو اون انجام میده تو فقط یاد بگیر چطور از Membership استفاده کنی همین.

delphi77
یک شنبه 25 شهریور 1386, 12:42 عصر
<profile>
<properties>
<add name="Telephone" />
<add name="Address" />
</properties>
</profile>

Profile.Telephone = Text1.Text;
Profile.Save();

ProfileCommon pc = Profile.GetProfile("username");
label1 = pc.Telephone;
l1bel2 = pc.Address;

کمک بدهید لطفا

sama01
دوشنبه 26 شهریور 1386, 04:47 صبح
مشکل شما چیه؟ با این چیز هایی که نوشتید باید کارها انجام بشه و مشکلی پیش نیاد.

delphi77
دوشنبه 26 شهریور 1386, 09:04 صبح
1- نمی دانم این اطلاعات کجا ذخیره می شه
2- هیچ اطلاع تئوری از این کدها ندارم مثلا نمی دانم که بجای "username" چی باید بنویسم
3- آیا باید فیلدهای خودم را به جدول profile اضافه کنم

سار
دوشنبه 26 شهریور 1386, 09:41 صبح
بجای UserName باید بنویسی UserName یعنی اسم کاربرت رو.
فرمت ذخیره سازیش هم به این شکل هست :


propertiename ====> BirthDate:S:0:0:FirstName:S:0:4:Gender:S:4:1:LastN ame:S:5:6:Id:S:11:90:
propertievaluestring =====> امیر0رشیدی <?xml version="1.0" encoding="utf-16"?>
<guid>00000000-0000-0000-0000-000000000000</guid>

نیازی به اضافه کردن فیلدهای خودت هم نیست.
همانطور که میبینی در فیلد propertiename نام propertieهای تو میاد و در فیلد propertievaluestring مقادیرش ذخیره میشه که اگر این مقادیر باینری باشه(مثلن عکس) در فیلد بعدی propertievaluebinary ذخیره میشه.
اگر یک بار کد مینوشتی و بعد حاصلش رو در جدول میدی 100% کارش رو می فهمیدی.
حالا ببینم نوع ذخیره سازیش اینقدر مهم هست؟
یقین دارم اصلن تست نکردی.

delphi77
دوشنبه 26 شهریور 1386, 09:54 صبح
تست کردم
جای username گذاشتم Page.User.Identity.Name
و بعد login کردم و مقدار دهی کردم ولی بعد که logout کردم و دوباره با همان user رفتم تو دیدم که جا تره و بچه نیست یعنی داده هایی که داده بودم دیگه نیست

delphi77
دوشنبه 26 شهریور 1386, 10:04 صبح
درست شد حق با شما بود
ولی اینطوری که فیلدهام را باید تو کد تعریف کنم فاجعه است
راه بهتری به نظرتان نمی رسه

delphi77
دوشنبه 26 شهریور 1386, 11:24 صبح
اگر خواستم فردا فیلد ها را کم زیاد کنم جابه جا شون کنم یا renameاشان کنم چی ؟
باید بیام تو کد این کار را کنم

delphi77
دوشنبه 26 شهریور 1386, 14:01 عصر
من یک مشکل توی کار با profile دارم

delphi77
دوشنبه 26 شهریور 1386, 14:15 عصر
مشکل دوتا شد برای آن کسی که لاگین کرده پروفایل را می نویسه
نه آن کاربری که من تازه ساختمش

sama01
دوشنبه 26 شهریور 1386, 16:34 عصر
به جای username باید username کاربر مورد نظرت رو وارد کنید. مسلما Page.User.Identity.Name، نام کاربری مربوط به کاربری را می‌دهد که لاگین کرده است.
بسته به جایی که می‌خواهید username را مشخص کنید، کد می‌توان متفاوت باشد.
اگر دقیقا شرایط را بیان کنید، می‌توان کمک بهتری کرد.

delphi77
سه شنبه 27 شهریور 1386, 08:49 صبح
متشکرم
ببینید من با CreateUserWizard کاربر جدید ایجاد می کنم سعی کردم که آن را(CreateUserWizard)
customs کنم در step ماقبل آخر فرم مربوط به مشخصات تکمیلی مانند شماره تلفن و آدرس را وارد می کنم با استفاده از profile برای کی ؟ برای همان کاربری که با CreateUserWizard ساختم بعد هم مرحله آخر که دکمه continiue و تمام.

حالا چه کنم که پروفایل مربوطه برای کاربر جدید ثبت بشه؟

sama01
چهارشنبه 28 شهریور 1386, 06:20 صبح
موقتا این رو داشته باشید تا اطلاعات کامل‌تر را در آینده نزدیک ارسال کنم. امیدوارم کارتون رو راه بندازه:


dim newUser as string = createUserWizard1.username.toString

hamed_bostan
چهارشنبه 28 شهریور 1386, 12:39 عصر
من این وسط پابرهنه بپرم وسط موضوع . پیشنهاد می کنم از پزوفایل استفاده نکنید چون اخرش یه جایی گیر میده و پدر آدم رو در میاره . من که شخصا دل خوشی از این membership و ... مایکروسافت ندارم...

شرمنده

sama01
چهارشنبه 28 شهریور 1386, 16:53 عصر
اگر مشکلتون رو برای ما هم بنویسید ممنون می‌شم.
در ضمن اگر وش خیلی بهتری سراغ دارید برای تکمیل پروژه بیان کنید.
با تشکر

delphi77
شنبه 31 شهریور 1386, 09:26 صبح
سلام sama01 من با cs کار می کنم و کد شما را متوجه نشدم
سلام hamed_bostan من که از اولش گفتم اگر راه بهتر و ساده ای دارید بگید

sama01
شنبه 31 شهریور 1386, 13:10 عصر
در این کد، یک متغیر string تعریف کردم و مقدار آن را createUserWizard1.username.toString قرار دادم. همین.
فکر می‌کنم شما باید یک چنین کدی بنویسید:


string newUser = createUserWizard1.username.toString;

delphi77
یک شنبه 01 مهر 1386, 09:22 صبح
توی eventی که من دارم کد می نویسم اصلا این createUserWizard1 را نمی شناسه مجبور شدم بنویسم

protected void CreateUserWizard1_FinishButtonClick(object sender, WizardNavigationEventArgs e)
{
TextBox1.Text = (TextBox)CreateUserWizard1.UserName.ToString;
//Profile.UserName = Membership.GetUser(User.ToString);
Profile.Telephone = TextBox1.Text;
Profile.Address = TextBox2.Text;
Profile.Save();
}
ولی این error را می دهید

Error 1 Cannot convert method group 'ToString' to non-delegate type 'System.Web.UI.WebControls.TextBox'. Did you intend to invoke the method?

delphi77
یک شنبه 01 مهر 1386, 10:11 صبح
در ضمن من وقتی می خواهم
Profile.UserName
عوض کنم و مقدار جدید را بهش بدهم شاکی میشه و می گه که Profile.UserName
readonly می باشد!!

سار
یک شنبه 01 مهر 1386, 10:14 صبح
شما بعد از اینکه CreateUserWizard کارش تموم شد میخوای چیکار کنی؟
این رو دقیقن مشخص کن.

delphi77
یک شنبه 01 مهر 1386, 11:57 صبح
من یک step بین step های CreateUserWizard
continu , create اضافه کردم و می خواهم مشخصات بیشتری از کاربر تازه create شده را در profile ثبت کنم که در رخداد مربوطه به آن step این را نوشتم (نکته:مدیر سایت اجازه اضافه کردن کاربر جدید را داراست)

protected void CreateUserWizard1_FinishButtonClick(object sender, WizardNavigationEventArgs e)
{
TextBox userNameTextBox = (TextBox)CreateUserWizardStep1.ContentTemplateCont ainer.FindControl("UserName");
MembershipUser user = Membership.GetUser(userNameTextBox.Text);
//Response.Write(user);
مشکل //Profile.UserName = user;
Profile.Telephone = TextBox1.Text;
Profile.Address = TextBox2.Text;
Profile.Save();
}

hamed_bostan
یک شنبه 01 مهر 1386, 11:58 صبح
سلام hamed_bostan من که از اولش گفتم اگر راه بهتر و ساده ای دارید بگید

سلام دوست عزیز . راه بهتر که چه عرض کنم اما به پست های اخری این تاپیک یه نگاه بنداز :

http://barnamenevis.org/forum/showthread.php?t=42779

delphi77
دوشنبه 02 مهر 1386, 12:09 عصر
شما بعد از اینکه CreateUserWizard کارش تموم شد میخوای چیکار کنی؟
این رو دقیقن مشخص کن.

من توضیحاتی که خواسته بودید بلافاصله بعد از تاپیک شما نوشتم با تشکر

delphi77
سه شنبه 03 مهر 1386, 08:11 صبح
من مشکلم اینه که با user مدیر وارد شدم ولی می خواهم profile مربوط به کاربر دیگری را ویرایش کنم!

sama01
سه شنبه 03 مهر 1386, 10:15 صبح
یک کار دیگری هم می‌شه انجام داد. به جای اینکه step تعریفم کنیم، بعد از پایان فرآیند ایجاد کاربر، نام کاربری وی را می‌گیریم (که توضیح داده شد) و با مثلا QueryString به یک صفحه‌ی دیگری می‌فرستیم و در آنجا با توجه به نام کاربری گرفته شده از QueryString، در قالب یک فرم دست ساز، پروفابل را تغییر می‌دهیم.
فکر نمی‌کنم مشکل خاصی ایجاد بشه.

mp2009
سه شنبه 17 مهر 1386, 22:23 عصر
چه جوری میشه پروفایل یه کاربر رو توی تکس باکس نشون داد؟