najafisolari
شنبه 01 بهمن 1390, 16:36 عصر
دوستان سلام
من در برنامه جديدي كه دارم كار مي كنم براي login كردن كاربران از امنيت دات نت استفاده كردم اين نكته را هم بايد بگم كه برنامه من داراي 5 سطح دسترسي است حال پس از تنظيمات web configuration و سطح بندي كاربران براي login كردن كاربران مشكل پبش آمده است زماني كه نام كاربري و رمز عبور را وارد مي كنند اجازه ورود در كد داده مي شود اما صقحه login كاربري نمي تواند عبور كند
تنظيمات سطح هاي مختلف در web config
<?xmlversion="1.0"encoding="utf-8"?>
<configuration>
<system.web>
<authorization>
<allowroles="admin" />
<denyusers="*" />
<denyusers="?" />
</authorization>
</system.web>
</configuration>
و كد درون login هم به اين صورته
If Membership.ValidateUser(txt_loginuserid.Text, txt_loginuserpassword.Text) = True Then
Dim usrinfo As MembershipUser = Membership.GetUser(txt_loginuserid.Text)
If usrinfo.IsLockedOut Then
lblerror.Text = "نام کاربری قفل شده است. لطفا به مدیر سیستم اطلاع دهید."
ElseIf usrinfo.IsApproved = False Then
lblerror.Text = "نام کاربري غير فعال شده است. لطفا به مدیر سیستم اطلاع دهید."
Else
Dim info As New tbl_userinfo
Dim actionUser As New Userinfo_BLL
info = actionUser.SelectRecordByID(usrinfo.ProviderUserKe y)
If info Is Nothing Then
lblerror.Text = "اطلاعات کاربری ناقص می باشد"
Else
Session("fk_Ict_gh") = info.fk_ict_index
Session("fk_user") = info.fk_user
Session("fk_post") = info.fk_post
Session("user_ref") = info.user_ref
Session("citycode") = info.fk_citycode
Session("cityname") = info.fK_cityname
Session("cityhoze") = info.fk_cityhoze
Session("username") = info.aspnet_User.UserName
Session("fullname") = info.user_lname
Session("name") = info.user_name
Select Case info.user_ref
Case 1
Response.Redirect("~/Panel_user/Default.aspx")
End If
Case 2
Response.Redirect("~/panel_ICT_admin/job_ict_admin.aspx")
End If
Case 3
Response.Redirect("~/panel_city_admin/city_admin.aspx")
End If
Case 4
Response.Redirect("~/panel_Province_admin/showpage.aspx")
End If
Case 5
Response.Redirect("~/panel_adminfull/office_register.aspx")
End If
End Select
FormsAuthentication.RedirectFromLoginPage(txt_logi nuserid.Text, False)
End If
End If
Else
lblerror.Text = "نام کاربری و یا رمز عبور نادرست است"
End If
Catch ex As Exception
lblerror.Text = "خطا اطلاعات دستوری پیش آمده است "
End Try
لطفا كمك كنيد
من در برنامه جديدي كه دارم كار مي كنم براي login كردن كاربران از امنيت دات نت استفاده كردم اين نكته را هم بايد بگم كه برنامه من داراي 5 سطح دسترسي است حال پس از تنظيمات web configuration و سطح بندي كاربران براي login كردن كاربران مشكل پبش آمده است زماني كه نام كاربري و رمز عبور را وارد مي كنند اجازه ورود در كد داده مي شود اما صقحه login كاربري نمي تواند عبور كند
تنظيمات سطح هاي مختلف در web config
<?xmlversion="1.0"encoding="utf-8"?>
<configuration>
<system.web>
<authorization>
<allowroles="admin" />
<denyusers="*" />
<denyusers="?" />
</authorization>
</system.web>
</configuration>
و كد درون login هم به اين صورته
If Membership.ValidateUser(txt_loginuserid.Text, txt_loginuserpassword.Text) = True Then
Dim usrinfo As MembershipUser = Membership.GetUser(txt_loginuserid.Text)
If usrinfo.IsLockedOut Then
lblerror.Text = "نام کاربری قفل شده است. لطفا به مدیر سیستم اطلاع دهید."
ElseIf usrinfo.IsApproved = False Then
lblerror.Text = "نام کاربري غير فعال شده است. لطفا به مدیر سیستم اطلاع دهید."
Else
Dim info As New tbl_userinfo
Dim actionUser As New Userinfo_BLL
info = actionUser.SelectRecordByID(usrinfo.ProviderUserKe y)
If info Is Nothing Then
lblerror.Text = "اطلاعات کاربری ناقص می باشد"
Else
Session("fk_Ict_gh") = info.fk_ict_index
Session("fk_user") = info.fk_user
Session("fk_post") = info.fk_post
Session("user_ref") = info.user_ref
Session("citycode") = info.fk_citycode
Session("cityname") = info.fK_cityname
Session("cityhoze") = info.fk_cityhoze
Session("username") = info.aspnet_User.UserName
Session("fullname") = info.user_lname
Session("name") = info.user_name
Select Case info.user_ref
Case 1
Response.Redirect("~/Panel_user/Default.aspx")
End If
Case 2
Response.Redirect("~/panel_ICT_admin/job_ict_admin.aspx")
End If
Case 3
Response.Redirect("~/panel_city_admin/city_admin.aspx")
End If
Case 4
Response.Redirect("~/panel_Province_admin/showpage.aspx")
End If
Case 5
Response.Redirect("~/panel_adminfull/office_register.aspx")
End If
End Select
FormsAuthentication.RedirectFromLoginPage(txt_logi nuserid.Text, False)
End If
End If
Else
lblerror.Text = "نام کاربری و یا رمز عبور نادرست است"
End If
Catch ex As Exception
lblerror.Text = "خطا اطلاعات دستوری پیش آمده است "
End Try
لطفا كمك كنيد