PDA

View Full Version : Login کردن با چک کردن ConnectionString در Web.config



federrer
یک شنبه 24 تیر 1386, 22:15 عصر
من یه صفحه دارم که قبل از ورود به اون یه صفحه Login گذاشتم. یعنی کاربر هایی که Username و Password درست بدن می تونن وارد شن .

یه پوشه ساختم و صفحه مورد نظر و صفحه Login و web.config رو ریختم توش.

این کد صفحه web.config:



<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings><add key="myConnectionString" value="server=localhost;uid=Admin;pwd=***;database=***" /></appSettings>
<location path="MyFolder">
<system.web>
<compilation defaultLanguage="c#" debug="true" />
<customErrors mode="RemoteOnly" />
<authorization>
<allow users="Admin"/>
<deny users="*"/>
</authorization>
<trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true" />
<sessionState mode = "SqlServer" stateConnectionString="tcpip=127.0.0.1:45565" sqlConnectionString="data source="SERVERNAME;user id=sa;password='' cookiesless="false" timeout="20"
/>
<globalization fileEncoding="utf-8" requestEncoding="utf-8" responseEncoding="utf-8" culture="fa-IR" uiCulture="fa-IR" />
</system.web>
</location>
</configuration>




تو صفحه login هم موارد زیر رو وارد کردم :



using System.Configuration;
string connectionString = (string )ConfigurationSettings.AppSettings["myConnectionString"];


1- تو Web.config مشکلی برای اتصال به دیتا بیس SQL server ندارم ؟؟

2- حالا وقتی می خوام صفحه Login رو Submit کنم باید مقادیر وارد شده برای Username و Pasword رو خودم چک کنم ؟؟؟ ( با IF)


من از VS 2003 استفاده می کنم و صفحه Login رو دستی ( با Text Box) طراحی کردم. ( تو VS 2005 دیدم که تو ToolBOX یه منو به اسم Login هست که میشه راحت از Object هاش استفاده کرد )

babi_wd
یک شنبه 24 تیر 1386, 23:35 عصر
من خودم ترجیح میدیم با Session کار کنم و درگیر این دنگ و فنگا نشم
جون قراره اطلاعات کمی تو سشن ذخیره بشه
پس اگه Cookielees هم باشه مشکلی نداره

federrer
دوشنبه 25 تیر 1386, 04:34 صبح
2- حالا وقتی می خوام صفحه Login رو Submit کنم باید مقادیر وارد شده برای Username و Pasword رو خودم چک کنم ؟؟؟

MajerajooyeKhallagh
دوشنبه 25 تیر 1386, 10:03 صبح
2- حالا وقتی می خوام صفحه Login رو Submit کنم باید مقادیر وارد شده برای Username و Pasword رو خودم چک کنم ؟؟؟

دوست عزیز
همونطور که گفتید در 2005 کامپوننت Login وجود داره و در آنجا نیازی به چک کردن شما ندارد و روش دیگری دارد ولی در 2003 شما باید خودتون درست بودن Username و Pass را چک کنید

و ظاهرا که در Config web شما برای اتصال به دیتابیس مشکلی دیده نمیشود ولی برای authorization :د زیر را بگذارید



<system.web>
<authentication mode="Forms">
<forms name="WebAuth"loginUrl="~/login/Frm_login.aspx"protection="All"/>
</authentication>
</system.web>

<location path="~/login">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>

<location path="home.aspx">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>

یعنی یوزرها همه بتونن به صفحه login دسترسی داشته باشن ولی فقط یوزرهایی بتونن به صفحه اصلی دسترسی داشته باشن که username وpassword را درست وارد کرده باشن
در بخش Path باید مسیر درست صفحه های مذکور را بگذارید

موفق باشید

fereshte22
دوشنبه 25 تیر 1386, 11:04 صبح
سلامدوستان میشه در مورد کامپوننت login در 2005 و عملکرد اون توضیح دهید.در ضمن میخواهم روش کار به صورتی باشد که با دسترسی به ادرس صفحات محدود شده نتوان به انها دسترسی داشت.اگر یک مثال معرفی کنید ممنون میشوم.

Nightbat
دوشنبه 25 تیر 1386, 11:28 صبح
http://quickstart.developerfusion.co.uk/QuickStart/aspnet/doc/ctrlref/login/default.aspx

federrer
دوشنبه 25 تیر 1386, 22:57 عصر
با تشکر از MajerajooyeKhallagh (http://barnamenevis.org/forum/member.php?u=29146) عزیز


وقتی قرار شد چک کردن رو دستی انجام بدم، مقدارهای uid و pwd رو
از تو کانکشن استرینگ در آوردم و با یه IF چک کردم که اگه مقادیر وارد شده کاربر با uid و pwd داخل ConnectionString یکی بود با یه Response.redirect به صفحه مورد نظر بره .
با این تفاسیر . استفاده از تگ <authentication> و تعیین دسترسی User ها چه جوری به من کمک می کنه ؟؟؟؟

اگه میشه یه توضیح بدین