我已经尝试了几天,似乎找不到合适的答案,所以我会在这里问。
我正在建立一个asp.net会员网站。
我想做的是:
允许用户创建帐户 - 比如说UserA 然后,我想允许UserA创建与他的帐户绑定的“子帐户”,但具有不同的角色以及不同的登录名(我将使用电子邮件地址作为登录名)
UserA将是各种帐户的管理员。 UserA的子帐户将比UserA更少“管理”,但是他们写入我的数据库(实体框架)的任何数据仍将绑定到主UserA帐户,该帐户将通过Membership.GetUser()API调用引用到我的表。
所以有2个问题:
1)我如何使用DB First引用我的EntityDataModel中的Membership表(我已经运行了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]
如果这太模糊,请告诉我,我可以扩展。
答案 0 :(得分:0)
我能够让它发挥作用。
基本上,您只需使用所有就地安全功能执行标准aspnetdb.mdf。 然后,您只需添加一个具有相同字段的表,然后引用
MembershipUser.GetUser(Page.User.Identity.Name);
因此,您自己的表将具有此User.ProviderKey的“masteruser”。然后,每个“子用户”在其记录上都有SAME主用户guid,以便它们都属于同一帐户。
如果有人想了解我如何使用它的更多细节,我很乐意提供它们。