سلام عزيز اين بخش از سايت تو چند بخش انجام ميشه كه بايستي كمي در مورد روشهاي شناسايي كاربر توي ASP.NET بدونين . اين بخشها شامل web.config و global.asax و كوكيها هستند كه تشريح اون خودش نياز به يه مقاله كامل داره . پيشنهاد ميكنم كه از مقالاتي كه تو سايتهايي مثل www.iranasp.net يا www.codeproject.com هستند ديدن كنيد ( منم از اونها استفاده كردم ) . اما برا توضيح : براي هر پوشه ميتو نين يه فايل web.config داشت كه سطح دسترسي رو معين ميكنه پس براي پوشه هايي كه براي فروم يا صفحات مديريتي هستند دسترسي رو تنها به كاربراني ميديم كه لوگين كردن قبلش تو سايت ( كه اين كار هم با استفاده از تعريف يك صفحه به عنوان صفحه لوگين در فايل web.config ريشه اصلي سايت انجام ميشه و كاربراني كه بخان به صفحات مديريتي يا فروم دسترسي داشته باشن در صورتي كه كوكي درست نداشته باشن به اون صفحه به طور اتوماتيك ارجا ميشن و اگه پسورد درست رو بدن و اين پسورد حق دسترسي داشته باشه به صفحه اصلي وارد ميشن . مثلا كد web.config ريشه اصلي به اين صورته : <authentication mode="Forms"> <forms loginUrl="login.aspx" name=".ASPXAUTH" protection="All" path="/" /> </authentication> تو اين كد صفحه login.aspx به عنوان صفحه لوگين براي كل سايت معرفي ميشه. و كد web.config پوشه هايي كه ميخاين امنيت داشته باشه : <configuration> <system.web> <authorization> <allow roles="User"/> <deny users="*"/> </authorization> </system.web > </configuration>
و كد فايل global.asax كه در واقع تو اين فايل چك ميشه كه كاربر حق ورود داره يا نه : Sub Application_AuthenticateRequest(ByVal sender As Object, ByVal e As EventArgs) ' Fires upon attempting to authenticate the use Dim id As FormsIdentity Dim ticket As FormsAuthenticationTicket Dim userData As String Dim roles() As String If Not (HttpContext.Current.User Is Nothing) Then If HttpContext.Current.User.Identity.IsAuthenticated Then If TypeOf HttpContext.Current.User.Identity Is FormsIdentity Then id = HttpContext.Current.User.Identity ticket = id.Ticket ' Get the stored user-data, in this case, our roles userData = ticket.UserData roles = userData.Split(",") HttpContext.Current.User = New GenericPrincipal(id, roles) End If End If End If End Sub براي توضيحات تكميلي بايستي به مقالات سايتهايي كه گفتم مراجعه كنيد . _______________________________________________________________________ پروژه های حرفه ای الکترونیک و کامپیوتر در www.khazama.com
مجموعه متن باز نامهای اصیل ایرانی
وبلاگ نوشته های شخصی من
|