PDA

View Full Version : احراز هویت از Forms به Windows



spicirmkh
سه شنبه 06 اردیبهشت 1390, 18:42 عصر
سلام
من احراز هویت از فرم به این صورت ایجاد و استفاده کرده ام


FormsAuthentication.SetAuthCookie("100", false); // 100 = User ID


و برای اینکه UserID چک کنیم از دستور استفاده کرده ام


if (Page.User.Identity.Name == "100")


حال می خواهم از اکتیو دایرکتوری استفاده کنم توی Web.config باید authenticationmode="Windows" تغییر کند
مشکل من این است متغییر می خواهم که در تمام صفحات استفاده کنم و از کوکی و سشن استفاده نکنم
و دارای امنیت بالای باشد

آیا راهی است مقدار Page.User.Identity.Name به مقدار دلخواه تغییر داد

spicirmkh
چهارشنبه 07 اردیبهشت 1390, 08:36 صبح
سلام

چرا چند وقتی است کسی به سوالات پاسخ نمی دهد ؟

آیا مدیران بخش ها فرصت نگاه کردن به سوالات یا انگیزه به پاسخ دادن ندارند ؟

آیا همه به دنبال سوال کردن هستند و کسی حال جواب دادن ندارند ؟

من قبلا یعنی 5 یا 6 سال پیش در بخش دلفی هر سوال بود زود جواب می گرفتم اما در ASP.NET باید کلی النماس و خواهش کنید یا پیام خصوصی بفرستی کسی دلش به رحم بیاد و جواب بدهد

خواهش می کنم از مدیر بخش این قسمت حذف نکند چون فکر می کنم مشکل خیلی باشد و به دنبال راه حل باشیم

با تشکر

aserfg
چهارشنبه 07 اردیبهشت 1390, 09:19 صبح
چرا چند وقتی است کسی به سوالات پاسخ نمی دهد ؟

آیا مدیران بخش ها فرصت نگاه کردن به سوالات یا انگیزه به پاسخ دادن ندارند ؟

آیا همه به دنبال سوال کردن هستند و کسی حال جواب دادن ندارند ؟

:متفکر:

ولی در مورد :

من قبلا یعنی 5 یا 6 سال پیش در بخش دلفی هر سوال بود زود جواب می گرفتم

تاریخ عضویت شما : فروردین 87 و 5 یا 6 سال پیش !!!!!:افسرده:

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

بهترین شیوه چه از حیث امنیت و راحتی و .... استفاده از ممبر شیپ خود asp.net است .

spicirmkh
چهارشنبه 07 اردیبهشت 1390, 10:30 صبح
:متفکر:

ولی در مورد :


تاریخ عضویت شما : فروردین 87 و 5 یا 6 سال پیش !!!!!:افسرده:


بهترین شیوه چه از حیث امنیت و راحتی و .... استفاده از ممبر شیپ خود asp.net است .

این تاریخ اشتباه است من خودم حدود 3 سال ASP.NET کار می کنم و قبلا دلفی کار می کردم شاید وقتی Profile تغییر دادم تاریخ جدید زده است تعداد پست من 877 و شما 474 یعنی 2 برابر ( جهت دفاع از خود )

آیا راهی است مقدار Page.User.Identity.Name به مقدار دلخواه تغییر داد

Membership هم دست آدم میبنده یا واقعا آشنا نیستم .
باتشکر

aserfg
چهارشنبه 07 اردیبهشت 1390, 12:09 عصر
تعداد پست من 877 و شما 474 یعنی 2 برابرکارت درسته :چشمک:


Membership هم دست آدم میبنده یا واقعا آشنا نیستم .membership بسیار انعطاف پذیر و در عین حال بستری مناسب برای رعایت امنیت رو فراهم کرده . یعنی فرایندی فراتر از مسائل ابتدایی همانند سشن و کوکی و در واقع نوعی یکپارچگیintegration با وب سرور iis به وجود می آره .
شما می توانید اینترفیس membersipuser در فضای نام system.web.sequrity رو پیاده سازی کنید در واقع با این کار بستر سفارشی ساختن ممبر شیپ برای شما فراهم خواهد شد
برای اطلاعات اضافی به آدرس زیر مراجعه نمایید :
http://msdn.microsoft.com/en-us/library/ms366730%28v=VS.85%29.aspx

کدی که شما در پست شماره یک گذاشتید روشی بسیار نادرست برای اعتبار سنجی کاربراست .
موفق باشید .

spicirmkh
یک شنبه 11 اردیبهشت 1390, 11:42 صبح
سلام

بحث membership کمی پیچیده است کلی سایت جستجو کردم اما چیزی دستگیرم نشد .

من از متد FormsAuthentication.SetAuthCookie استفاده کرده ام و فقط توی صفخات برام USERid مهم بود که با Page.User.Identity.Name توی صفحات بدست می آورم و دیتا بیس خودم استفاده می کنم

به نظر شما بهتر نیست توی صفحات از Session استفاده کنم در حالت Active Driectoy بخواهم userid داشته باشم

یک بحث دیگر دنبال می کردم استفاده از role است چطور می توانم بگویم که این شخص که لاگین کرده مثلا دسترسی نوع B داره ؟

aserfg
یک شنبه 11 اردیبهشت 1390, 13:42 عصر
یک بحث دیگر دنبال می کردم استفاده از role است چطور می توانم بگویم که این شخص که لاگین کرده مثلا دسترسی نوع B داره ؟

<authorization>
<allow users="Kim"/>
<allow roles="Admins"/>
<deny users="John"/>
<deny users="?"/>
</authorization>
در این کدکاربرانی که دارای رل ادمین هستند و همچنین کاربری به نام kim اجازه دسترسی دارند . و کاربر john حق دسترسی ندارد هر چند دارای رل admins باشد . و کابرانی که ناشناس هستند نیز حق دسترسی ندارند .
کدهای ذیل به صورت کامل مسئله رو برات روشن می کنند :
<configuration>
<system.web>
<authentication mode="Forms" >
<forms loginUrl="login.aspx" name=".ASPNETAUTH" protection="None" path="/" timeout="20" >
</forms>
</authentication>
<!-- This section denies access to all files in this application except for those that you have not explicitly specified by using another setting. -->
<authorization>
<deny users="?" />
</authorization>
</system.web>
<!-- This section gives the unauthenticated user access to the Default1.aspx page only. It is located in the same folder as this configuration file. -->
<location path="default1.aspx">
<system.web>
<authorization>
<allow users ="*" />
</authorization>
</system.web>
</location>
<!-- This section gives the unauthenticated user access to all of the files that are stored in the Subdir1 folder. -->
<location path="subdir1">
<system.web>
<authorization>
<allow users ="*" />
</authorization>
</system.web>
</location>
</configuration>

spicirmkh
یک شنبه 11 اردیبهشت 1390, 14:21 عصر
سلام با تشکر

آیا دستوری داریم که به این صورت باشد و در تمام صفحات قابل دسترسی باشد


Roles.CreateRole("rolename"); // create roles
Roles.AddUserToRole("rolename", "kim"); // set rooles
Roles.FindUsersInRole("rolename", "kim"); // check roles