/// <summary> /// Cria um objeto <see cref="IExtendedPrincipal"/>, com base no <see cref="ISimpleAppUser"/> /// passado. Dificilmente será necessário sobrecrever esse método. /// </summary> protected virtual IExtendedPrincipal CriaIPrincipal(ISimpleAppUser user, bool autenticado) { if (user == null) { return(null); } var bld = new UserBuilder(user.Id, autenticado, user.Name) { Login = user.Login }; if (user.Roles != null) { foreach (IAppRole role in user.Roles) #pragma warning disable 618,612 { foreach (IAppPermission p in role.Permissions) { bld.AddPermission(role.Name, Permission.SetPermission(p.Id, p.Name)); } } #pragma warning restore 618,612 } IExtendedPrincipal u = bld.Build(); if (user.Roles != null) { foreach (IAppRole role in user.Roles) { #pragma warning disable 618,612 if (role != null && role.Profile != null) { u.Properties["skin"] = role.Profile.Skin; u.Properties["home"] = role.Profile.Home; } #pragma warning restore 618,612 } } return(u); }