2013-08-09 1 views
2

Я пробовал искать это в течение нескольких дней и не могу найти адекватного ответа, поэтому я попрошу здесь.Разрешить пользователям asp.net sqlmembership создавать «подчиненных»

Я создаю сайт членства asp.net.

То, что я хочу сделать, это:

Разрешить пользователь зарегистрироваться - сказать UserA Затем я хочу, чтобы UserA создавать «субсчет» привязанный на свой счет, но с различными ролями, а также разные имена для входа (я буду использовать адрес электронной почты в качестве имени для входа)

UserA будет администратором учетной записи сорта. Суб-учетные записи UserA будут менее «администрироваться», чем UserA, но любые данные, которые они пишут в моей базе данных (Entity Framework), по-прежнему будут привязаны к основной учетной записи UserA, которая будет привязана к моим таблицам через вызовы API Membership.GetUser() ,

Так 2 вопроса:

1) Как бы я ссылку таблицы членства в моем EntityDataModel с помощью DB-первых (я уже побежал aspnet_regsql.exe)

2) Как бы мне нужно идти о разрешении UserA для создания собственных субпользователей?

Вот изображение из моих пользовательских таблиц:

[MasterAccountUser] 
MasterAccountId = aspnet_Membership.UserId 
AccountNumber = autoincrement number 

[UserAccount] - subaccount of [MasterUserAccount] 
AccountId = aspnet_Membership.UserId (if I have to have each user create their own) 
MasterAccountId = aspnet_Membership.UserId (but the same one as the [MasterAccountUser] 

enter image description here

Если это слишком расплывчато, дайте мне знать, и я могу расширить.

+0

Членство в ASP.NET предназначено для конкретной схемы сущности домена - то, что вы предлагаете, не будет хорошо работать с существующей инфраструктурой. Я советую вам полностью реализовать эту систему самостоятельно, не используя слой Membership. – Dai

+0

Несомненно, я должен был бы сделать какой-то «дискриминатор» в моей собственной таблице БД, чтобы любые публикации или изменения, публикуемые пользователем, по-прежнему будут применяться только к одной и той же учетной записи, не так ли? Таким образом, мне нужно было бы разрешить каждому пользователю иметь свой собственный вход в систему, но все обновления учетной записи по-прежнему применяются к тому же самому мастер-счету? – GenXisT

ответ

0

Я смог заставить это работать.

В принципе, вы просто делаете стандартный aspnetdb.mdf со всеми функциями безопасности на месте. Тогда вы просто добавить таблицу с теми же полями, а затем ссылаться на

MembershipUser.GetUser(Page.User.Identity.Name); 

Так вы собственный стол будет иметь «masteruser» с этим User.ProviderKey. Каждый «субпользователь» затем имеет SAME masteruser guid на своей записи, чтобы все они попадали под одну учетную запись.

Если кто-то хочет получить более подробную информацию о том, как я получил это на работу, я могу с радостью предоставить их.

 Смежные вопросы

  • Нет связанных вопросов^_^