No problem. When initializing your tole provider, you should do something like this:
string
[] roles = GetAllRoles();
// this should return a list of roles from external DB
using
(MonoSoftware.MonoX.Repositories.MembershipRepository rep = MonoSoftware.MonoX.Repositories.MembershipRepository.GetInstance())
{
foreach
(
string
role
in
roles)
{
rep.CreateAndSaveNewRole(role);
}
}
Login Web part in turns does something like this to insert a user that is not already present in the MonoX DB, so you can do something like that in the overridden login module (OnLoggedInRedirect event would be a good place to place code like this):
if
(!(Membership.Provider
is
System.Web.Security.SqlMembershipProvider))
{
UserRepository repository = UserRepository.GetInstance();
AspnetUsersEntity authenticatedUser = repository.GetUser(ctlLogin.UserName);
if
(authenticatedUser ==
null
)
{
if
(!repository.CreateUserManually(ctlLogin.UserName))
{
validationSummaryLogin.AddMessage(DefaultResources.ErrorMessage_Login);
return
;
}
}
}