PDA

View Full Version : امنيت دات نت



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

لطفا كمك كنيد

programer2011@yahoo.com
دوشنبه 03 بهمن 1390, 14:51 عصر
public bool Login(string username, string password, string customCredential, bool isPersistent)
Member of System.Web.ApplicationServices.AuthenticationServi ce

Summary:
Checks user credentials and creates an authentication ticket (cookie) if the credentials are valid.

Parameters:
username: The user name to be validated.
password: The password for the specified user.
customCredential: The value or values to validate in addition to userName and password, if any.
isPersistent: A value that indicates whether the authentication ticket remains valid across sessions.

Return Values:
true if user credentials are valid; otherwise, false.

Exceptions:
System.ArgumentNullException: userName or password is null.

Attributes:
[System.ServiceModel.OperationContractAttribute]

از این استفاده کن
ولی به نظر من بهتره از کامپوننت Login خود ASP.NET استفاده کنی و قسمت مربوط به Redirect رو روی Click Event مربط به Login Button در Edit Template بنویسی