Ejemplo n.º 1
0
 /// <summary>
 /// Get roles from user. Use "GetLoggedUser()" to get "ApplicationUser"
 /// </summary>
 /// <param name="userID">Send "ApplicationUser.id" from method "GetLoggerUser()"</param>
 /// <returns></returns>
 public List <string> GetRolesFromUser(string userID, out string error)
 {
     error = null;
     try
     {
         UserManager UserManager = new GreeNova.DGNB.SystemSoftware.SecurityProvider.Managers.UserManager();
         var         roles       = UserManager.GetRoles(userID);
         return(roles.ToList());
     }
     catch (Exception ex)
     {
         error = "Could not retrive 'GetRolesFromUser'. Error:" + ex.Message + Environment.NewLine + ex.StackTrace;
         return(null);
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// Ultimate place to get logged info data
        /// </summary>
        /// <param name="principal"></param>
        /// <param name="error"></param>
        /// <returns></returns>
        public LoggedUserCompleteInfo GetLoggedUserAndLocalDBUser(IIdentity principal, bool loadRoles, out string error)
        {
            error = null;
            try
            {
                UserManager UserManager = new GreeNova.DGNB.SystemSoftware.SecurityProvider.Managers.UserManager();
                if (principal.Name == null)
                {
                    return(null);
                }
                GreeNova.DGNB.SystemSoftware.SecurityProvider.Database.ApplicationUser loggedUser = UserManager.FindByName(principal.Name);

                LoggedUserCompleteInfo loggedUserInfo = new LoggedUserCompleteInfo();
                loggedUserInfo.MainRole = "";
                loggedUserInfo.GreenNovaLoggedUser.UserName = loggedUser.UserName;
                if (loadRoles)
                {
                    List <string> roles = UserManager.GetRoles(loggedUser.Id).ToList();
                    loggedUserInfo.GreenNovaLoggedUser.Roles = roles;

                    PermissionManager permissionManager = new PermissionManager();
                    if (roles != null)
                    {
                        if (roles.Count > 0)
                        {
                            loggedUserInfo.MainRole = permissionManager.GetMainUserRole(roles);
                        }
                    }
                }

                loggedUserInfo.LoadLocalDBUser();

                return(loggedUserInfo);
            }
            catch (Exception ex)
            {
                error = "Could not retrive 'GetLoggedUser'. Error:" + ex.Message + Environment.NewLine + ex.StackTrace;
                return(null);
            }
        }