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

نام تاپیک: عدم دسترسی به کنترلرهایی که نقش خاصی به آن ها دسترسی دارد

  1. #1

    عدم دسترسی به کنترلرهایی که نقش خاصی به آن ها دسترسی دارد

    سلام
    من در پروژه asp.net MVC می خواهم احراز هویت را پیاده سازی کنم
    جداول users و Roles رو خودم در دیتابیس ساختم
    کدهای زیر را در وب کانفیگ گذاشتم

    <add key="enableSimpleMembership" value="false" />
    <add key="autoFormsAuthentication" value="false" />



    <system.web>
    <authentication mode="Forms">
    <forms loginUrl="~/Account/Login"
    defaultUrl="~/Home/Index"
    timeout="2880"
    slidingExpiration="true"/>
    </authentication>
    <roleManager enabled="true" defaultProvider="MyProvider">
    <providers>
    <clear/>
    <add name="MyProvider" type="eShopMvc.Classes.eShopMvcRoleProvider"/>
    </providers>
    </roleManager>
    <system.web/>


    کلاس eShopMvcRoleProvider رو هم به پروژه اضافه کردم که محتویات زیر داخلش هست

    public class eShopMvcRoleProvider: RoleProvider
    {
    StoreSoftwareEntities db = new StoreSoftwareEntities();


    public override void AddUsersToRoles(string[] usernames, string[] roleNames)
    {
    throw new NotImplementedException();
    }


    public override string ApplicationName
    {
    get
    {
    throw new NotImplementedException();
    }
    set
    {
    throw new NotImplementedException();
    }
    }


    public override void CreateRole(string roleName)
    {
    throw new NotImplementedException();
    }


    public override bool DeleteRole(string roleName, bool throwOnPopulatedRole)
    {
    throw new NotImplementedException();
    }


    public override string[] FindUsersInRole(string roleName, string usernameToMatch)
    {
    throw new NotImplementedException();
    }


    public override string[] GetAllRoles()
    {
    throw new NotImplementedException();
    }


    public override string[] GetRolesForUser(string username)
    {
    string[] roles =
    db.Stores.Include("Roles")
    .Where(u => u.Username == username)
    .Select(u => u.Roles.RoleInSystem)
    .ToArray();
    return roles;
    }


    public override string[] GetUsersInRole(string roleName)
    {
    throw new NotImplementedException();
    }


    public override bool IsUserInRole(string username, string roleName)
    {
    throw new NotImplementedException();
    }


    public override void RemoveUsersFromRoles(string[] usernames, string[] roleNames)
    {
    throw new NotImplementedException();
    }


    public override bool RoleExists(string roleName)
    {
    throw new NotImplementedException();
    }
    }


    بالای اکشن های کنترل نیز نوشته ام [Authorize(Roles = "administrator")]

    اما وقتی ویو مربوط به اکشن را باز می کنم با ارور زیر مواجه می شوم
    HTTP Error 401.0 - Unauthorized

    You do not have permission to view this directory or page.


  2. #2

    نقل قول: عدم دسترسی به کنترلرهایی که نقش خاصی به آن ها دسترسی دارد

    اول اینکه چرا از Identity پیشفرض برای هراز هویت استفاده نمیکنید ؟

    بالای اکشن های کنترل نیز نوشته ام [Authorize(Roles = "administrator")]

    اما وقتی ویو مربوط به اکشن را باز می کنم با ارور زیر مواجه می شوم
    HTTP Error 401.0 - Unauthorized

    You do not have permission to view this directory or page.
    کاربری که در حال حاضر باهاش لاگین کردید ، Role مربوط به administrator رو نداره و نمیتونه وارد اون اکشن بشه .

  3. #3

    نقل قول: عدم دسترسی به کنترلرهایی که نقش خاصی به آن ها دسترسی دارد

    یک ماژول در وب کانفیگ بود که باید حذف می شد
    <remove name="FormsAuthentication" />
    این ماژول اجازه کار رو نمی داد

تاپیک های مشابه

  1. ترین نمونه ها با دو ویژگی و دادن برچسب به آن ها بر حسب کلاس
    نوشته شده توسط foroughiiii در بخش برنامه نویسی Matlab
    پاسخ: 1
    آخرین پست: سه شنبه 19 آبان 1394, 09:18 صبح
  2. سوال: بدست آوردن رکوردی که فیلد خاصی از آن null باشد در ado.net
    نوشته شده توسط rafiee.mostafa64 در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 1
    آخرین پست: دوشنبه 31 فروردین 1394, 13:39 عصر
  3. پاسخ: 1
    آخرین پست: جمعه 21 آذر 1393, 16:10 عصر
  4. سوال: نحوه Highlight کردن اجزای فرم با ورود به آن ها
    نوشته شده توسط LORD AELX در بخش jQuery
    پاسخ: 4
    آخرین پست: سه شنبه 22 تیر 1389, 17:18 عصر
  5. سوال: نمایش متونی در label که کد Enter در آن ها نیست
    نوشته شده توسط m_kalantar.cs در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: چهارشنبه 25 آذر 1388, 23:55 عصر

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

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