نمایش نتایج 1 تا 9 از 9

نام تاپیک: سطح دسترسی در authentication

  1. #1
    کاربر دائمی آواتار karim orooji
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    مشهد (پایتخته معنوی ایران)
    پست
    1,376

    سطح دسترسی در authentication

    با سلام به دوستان
    من دربرنامه برای ورود کاربران از authentication استفاده میکنم
    حالا میخوام در برنامه سطح دسترسی ایجاد کنم باید چه کنم
    زمانی که مدیر میخواد وارد سایت بشه چیکار کنم
    کد authentication در کانفیگ

    <
    authenticationmode="Forms">
    <
    formsname="logincookie"loginUrl="Default.aspx"timeout="20"defaultUrl="home_page.aspx"></forms>
    </
    authentication>
    <
    authorization>

    این کد هم برای تشخیص هویت
     

    Private Function IsUser() As Boolean
    Try
    Dim com As New SqlCommand
    com.Connection = con
    com.CommandText = "Select Count(*) From register Where user_name=@user_name And pass=@pass"
    com.Parameters.AddWithValue("@user_name", txt_user.Text)
    com.Parameters.AddWithValue("@pass", txt_pass.Text)
    con.Open()
    If com.ExecuteScalar = 1 Then
    Return True
    End If
    con.Close()
    Catch ex As Exception
    End Try
    End Function
    Protected Sub btnLogin_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnLogin.Click
    If IsUser() Then
    FormsAuthentication.SetAuthCookie(txt_user.Text, True)
    FormsAuthentication.RedirectFromLoginPage(txt_pass .Text, True)
    Session("user") = Trim(txt_user.Text)
    Session("pass") = Trim(txt_pass.Text)
    Label4.Visible = False
    Else
    txt_user.Text = ""
    txt_pass.Text = ""
    lbl.Visible = True
    txt_user.Focus()
    End If
    End Sub

    برای ورود به پنل کاربری مدیر باید چیکار کرد

  2. #2
    کاربر تازه وارد آواتار farhadt
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    تهران
    پست
    74

    نقل قول: سطح دسترسی در authentication

    موضوع مورد نیاز منم هست. اساتید راهنمایی کنن.

  3. #3
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    تهران
    پست
    148

    نقل قول: سطح دسترسی در authentication

    شما یک کلاس جدید درست کنید که از کلاس roleprovider ارث ببره. حالا در متد getrolesForUsers مقدار role ای که خودتون ساخته اید return کنید.
    در web.config سایتتونم باید این کلاس رو معرفی کنید
    <roleManager enabled="true" defaultProvider="MyRoleProvider">
    <providers>
    <clear />
    <add name="MyRoleProvider" type="YourClassUrl"/>
    </providers>

    </roleManager>

    خوب دیگه حالا .net می تونه role های ایجاد شده توسط شما رو بشناسه و در هر فولدری می تونید web.config بزارید و مجوز دسترسی به رولهاتون رو بدید.

  4. #4
    کاربر دائمی آواتار karim orooji
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    مشهد (پایتخته معنوی ایران)
    پست
    1,376

    نقل قول: سطح دسترسی در authentication

    سلام بیسار ممنون زحمت کشید جواب دادید
    ببخشید این سوال مبتدی رو میکنم
    roleprovider و roleManager جی هستند میشه توضیح بدید

  5. #5
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    تهران
    پست
    148

    نقل قول: سطح دسترسی در authentication

    RoleProvider که از کلاسهای خود دات نت هست و در namespace -> System.Web.Security; قرار دارد. کار این کلاس کارهایی مانند ساخت و حذف رول و دادن نقش به کاربر و از اینجور کارها است. بعد از اینکه کلاستون را ساختید
    public class YourClass:RoleProvider

    خودش متد ها را براتون میاره . از اسم متد هاش میشه بقیه وظایفش رو فهمید.
    در rolemanager که باید در system.web قرارش بدید شما این امکان را ایجاد می کنید که .net از provider شما استفاده کند
    <roleManager enabled="true"
    . شما یک provider خودتون به rolemanager معرفی می کنید.
    defaultProvider="MyRoleProvider"

    و بعد اون رو ایجاد و و در type هم مسیری که کلاس شما در آن وجود دارد را می نویسید
        <providers>
    <
    clear />
    <
    add name="MyRoleProvider" type="YourClassUrl"/>
    </
    providers>

  6. #6
    کاربر دائمی آواتار karim orooji
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    مشهد (پایتخته معنوی ایران)
    پست
    1,376

    نقل قول: سطح دسترسی در authentication

    سلام
    خوب من کد لاگین کاربر رو به صورت دستی انجام دادم
    اونوقت میشه من RoleProvider میشه در برنامه استفاده کرده

  7. #7
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    تهران
    پست
    148

    نقل قول: سطح دسترسی در authentication

    بله . فقط کافی است رول کاربری که لاگین کرده است را در متد getrolesForUsers در کلاس که ایجاد کرده اید return کنید + در web.config که در فولدر مدریت دارید به آن رول مجوز ورود داده باشید.

  8. #8
    کاربر دائمی آواتار karim orooji
    تاریخ عضویت
    بهمن 1387
    محل زندگی
    مشهد (پایتخته معنوی ایران)
    پست
    1,376

    نقل قول: سطح دسترسی در authentication

    سلام ممنون
    حالا این کلاسی که میگید توش باید چی نوشت
    تا حالا این کار نکردم بلد نیستم

  9. #9
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    تهران
    پست
    148

    نقل قول: سطح دسترسی در authentication

    سلام.
    اول شما این namesapace رو به کلاستون اضافه می کنید.
    using System.Web.Security;

    بعد طبق کد زیر کلاستون از کلاس RoleProvider ارث می بره
    public class Class1:RoleProvider

    چون کلاس RoleProvider به صورت abstract می باشد ماوس را روی RoleProvider بزارید تا گزینه
    implement abstract class roleProvder نمایان شود و سپس با روی آن گزینه کلیک می کنید.
    حالا تو متد GetRolesForUser
    public override string[] GetRolesForUser(string username)

    مقدار role کاربرتون رو باید return کنید. قبلش کدهای داخل متد رو پاک کنید . و توجه داشته باشید که مقدار ارسالی از نوع string[] است. پس شما ارایه ای از نوع استرینگ با یک خانه ایجاد کنید.
    string[] Role = new string[1];

    و مقدار رولی که از دیتابیس میخونی رو داخل Role[0[ میریزی و در نهایت return Role میکنی.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •