Мы поражая большое количество стена и камни преткновения, как мы создаем наше пользовательское членство основаны на MembershipProvider, MembershipUser и RoleProvider т.д.ASP.NET сайт членство
У нас есть ряд интересных требований и поставщик членства Безразлично По-видимому, нам очень помогает в их достижении:
- Пользователи могут иметь несколько логинов.
- Пользователи не имеют имени пользователя напрямую (но могут иметь логин, имеющий имя пользователя).
- У пользователей есть одна уникальная ссылка (в настоящее время первичный ключ с автоматическим добавлением).
Чтобы реализовать это, у нас есть две таблицы: пользователи, которые имеют отношения «один-много» с логинами.
Это означает, что у нас есть Пользователь, который (в гипотетическом мире) может войти в систему через свою учетную запись Active Directory автоматически (по возможности) и с помощью комбинации OpenID или Username/Password. У нас также есть некоторые пользователи, у которых может не быть учетной записи AD.
я первоначально пытался перепрофилирование классы членства путем создания: - CustomMembershipProvider - CustomMembershipUser - CustomRolesProvider
Но все мои бои против него только что дал мне черные глаза и синяки, это действительно, действительно хочет имя пользователя!
Неужели я пошла по этому пути? Должен ли я начинать с страйка и ничего не наследовать? Должен ли я основывать его на классе IProvider? Или, может быть, классы GenericPrincipal и GenericIdentity? Или я просто пропустил что-то с MembershipProvider?
Я хочу сохранить конечный опыт программирования так же просто, как и для готового материала для членства, например.
Membership.GetCurrentUser();
И избежать меньше, чем упрощенный опыта конца кодировщиков ...
Как вы имеете в виду, что у вас было общее членство, но с разными поставщиками? Это похоже на то, что я хочу достичь, но требование, безусловно, не должно определять несколько ролей и поставщиков профилей для того, что фактически остается только одним пользователем. Имеет ли это смысл? – Amadiere
У каждого пользователя должен быть профиль Memebrship, иначе он не может быть разрешен Ролями. Но этот профиль относится к поставщикам аутентификации (один к многим), поэтому пользователь может войти в систему по-разному. Ссылка Provider Provider является ссылкой на профиль (это тот же провайдер). – twk