MVC Създайте мой собствен доставчик на членство

Често, когато използвам простия доставчик на членство, се оказвам ограничен. Така че реших да създам свой собствен доставчик на членство, но съм малко загубен..

Какво направих досега:

  1. Създаден е нов публичен клас CustomMembershipProvider: System.Web.Security.MembershipProvider..

  2. Промених моя файл Web.config, за да мога да използвам собствения си доставчик..

  3. Сега имам достъп до тези функции в моя контролер по следния начин: var membership = (Testproject.Custom_Membership_Provider.CustomMembershipProvider)System.Web.Security.Membership.Provider;

Какво следва? Бих искал да мога да извличам данни от моята база данни и да ги променям. Например, вземете текущия потребителски имейл и можете да го промените.

На прав път ли съм? Бихте ли ми помогнали за начинаещи за тези две функции?

Освен това.. Ако не използвате нито един от доставчиците на членство, персонализирани или прости, как смятате да извлечете и промените данни от базата данни? Можете ли да ми дадете пример за това? Харесайте, извлечете текущия потребител и променете неговия имейл.

Оценявам цялата помощ, която мога да получа! Благодаря ти, /объркано дете


person user3314623    schedule 15.02.2014    source източник


Отговори (2)


Microsoft се отказа от простия доставчик на членство и въведе нов - проверете ASP.Net идентичност Тук имате няколко статии за нейното персонализиране:

Персонализиране на информация за профила в ASP.NET идентичност

Персонализиране на идентичността на ASP.NET в MVC 5

Проверете и този:

Доброто , лошото и грозното на ASP.NET Identity

Надявам се да е полезно.

person free4ride    schedule 16.02.2014
comment
Не е отговорът, който търсех, но благодаря, не го знаех :) - person user3314623; 17.02.2014

What's next?

Приложете методи, от които се нуждаете. Like Ако трябва да можете да извличате потребителска информация, внедрете

MembershipUser GetUser(низ потребителско име, bool userIsOnline);

Am I on the right track here?

Е, това зависи от въпроса защо сте избрали да пуснете свой собствен доставчик? Примерът, който споделяте, може да бъде доволен и от SimpleMembershipProvider. Например, ако искате да добавите имейл за потребител, можете да го добавите в таблицата UserProfile и лесно да го извлечете. Вижте пример тук

Could you give me some starter help on those two functions?

Трябва основно да приложите CRUD операция с база данни (SQL Server) и ORM (напр. EF) по ваш избор. След като имате способността да четете и пишете от таблица в база данни, създайте таблица UserProfile. Когато потребителят се регистрира, вмъкнете потребителска информация в него. Когато искате да потвърдите, извикайте ValidateUser() метод. Тъй като извличате от MembershipProvider, ще трябва да приложите всички необходими методи. За повече информация вижте тази връзка

If you don't use any of the membership providers, custom or simple, how are you suppose to retrieve and change data from database?

Има два въпроса в дискусията тук, една възможност за валидиране на потребител (User Authentication), втора възможност за съхраняване и извличане на данните от базата данни. Вярвам, че въпросът ви се отнася до първото.

ASP.NET прилага удостоверяване чрез доставчици на удостоверяване, кодовите модули, които съдържат кода, необходим за удостоверяване на идентификационните данни на заявителя. Повече информация тук

Ако не искате да използвате членство в ASP.NET, ще трябва да изберете друга рамка за удостоверяване на потребителя или да пуснете своя собствена (определено не е икономически ефективен начин).

person SBirthare    schedule 22.02.2014