با سلام ببینید من از این آموزش استفاده کردم
این لینک https://barnamenevisan.org/Articles/Article3227.html
همه قسمت هاشو انجام دادم فقط قسمت آخرش تنظیمات web.config چی باید باشه توو عکس مشخص نیست
فتم توو اینترتم گشتم اینو دیدم ببینید
<membership> <providers> <clear /> <add name="MyMembershipProvider" type="ProjectShop.Classes.MyMembershipProvider" connectionStringName="dbgenericlabEntities" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" Default="ProjectShop.Classes.MyMembershipProvider" applicationName="/" /> </providers> </membership>
اما متاسفانه وقتی اجرا میکنم این ارور رو میده
اگه کسی اینو انجام داده میشه بگید من توو web.config چی بزارم ؟
متشکرم
کد زیر را اضافه کنید :
<membership defaultProvider="MyMembershipProvider">
ببینید من web.config امو همون طور که گفتید به این صورت در آوردم و لرور برطرف شد
<membership defaultProvider="MyMembershipProvider"> <providers> <clear /> <add name="MyMembershipProvider" type="ProjectShop.Classes.MyMembershipProvider" connectionStringName="dbgenericlabEntities" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" applicationName="/" /> </providers> </membership>
اما اصلا توو این کد ما جایی بهش نگفتیم بره MyRoleProvider یعنی اینو هیچ جا تعریف نکردیم منظورم اینه اصلا وارد MyRoleProvider نمیشه که بخواد role ها مشخص کنه
ببینید من دو تا کلاس MyRoleProviderوMyMembershipProvider دارم و توو وب کانفیگ هم ما MyMembershipProvider رو مسیرش رو مشخص کردیم اما حرفی از جای MyRoleProvider نزدیم
توو اکش ها هم بالاش اینو گذاشم مثلاً
[Authorize(Roles = "Eftekharat")]
خب وقتی ورود رو میزنم وارد MyMembershipProvider میشه و معتبر بودن رو چک میکنه اما وقتی رو اکشنم میزنم میپره صفحه ورود و اصلا وارد MyRoleProvider نمیشه که چک کنه بیچاره role داره
راستی توو وب کانفیگ اینم دارما
<authentication mode="Forms"> <forms loginUrl="~/Home/Login" timeout="43200" slidingExpiration="true" /> </authentication>
یعنی ایراد از این نیست؟
ممنون از راهنمایی هاتون خدا خیرتون بده من واقعاً کارم گیره
علت خطا مشخص نکردن Provider پیش فرض است، شما باید نام Provider خود را جایگزین MyMembershipProvider کنید.
نه آقای علیزاده اونی که شما اول گفتید درست شد یعنی نامشو درست کردم از membership ایراد نگرفت اصلا وارد MyRoleProvider.cs نشد role ها رو ببینه
خودم فهمیدم اینو به web.config اضافه کردم درست شد
<membership defaultProvider="MyMembershipProvider"> <providers> <clear /> <add name="MyMembershipProvider" type="ProjectShop.Classes.MyMembershipProvider" connectionStringName="dbgenericlabEntities" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" applicationName="/" /> </providers> </membership> <roleManager defaultProvider="MyRoleProvider" enabled="true"> <providers> <clear /> <add name="MyRoleProvider" type="ProjectShop.Classes.MyRoleProvider" applicationName="/" /> </providers> </roleManager>
متشکر از پاسخ گوییتون یه صلوات تقدیمتون
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)