public ScriptUserDefinition GetUserData() { var result = new ScriptUserDefinition(); var user = Authorization.UserDefinition as UserDefinition; if (user == null) { result.Permissions = new Dictionary <string, bool>(); return(result); } result.Username = user.Username; result.DisplayName = user.DisplayName; result.IsAdmin = user.Username == "admin"; result.Permissions = TwoLevelCache.GetLocalStoreOnly("ScriptUserPermissions:" + user.Id, TimeSpan.Zero, UserPermissionRow.Fields.GenerationKey, () => { var permissions = new Dictionary <string, bool>(StringComparer.OrdinalIgnoreCase); if (permissionsUsedFromScript == null) { permissionsUsedFromScript = new UserPermissionRepository().ListPermissionKeys().Entities .Where(permissionKey => { // this sends permission information for all permission keys to client side. // if you don't need all of them to be available from script, filter them here. // this is recommended for security / performance reasons... return(true); }).ToArray(); } foreach (var permissionKey in permissionsUsedFromScript) { if (Authorization.HasPermission(permissionKey)) { permissions[permissionKey] = true; } } return(permissions); }); return(result); }
public ScriptUserDefinition GetUserData() { var result = new ScriptUserDefinition(); var user = Authorization.UserDefinition as UserDefinition; if (user == null) { result.Permissions = new Dictionary<string, bool>(); return result; } result.Username = user.Username; result.DisplayName = user.DisplayName; result.Permissions = TwoLevelCache.GetLocalStoreOnly("UserPermissions:" + user.Id, TimeSpan.Zero, UserPermissionRow.Fields.GenerationKey, () => { var permissions = new Dictionary<string, bool>(StringComparer.OrdinalIgnoreCase); if (permissionsUsedFromScript == null) { permissionsUsedFromScript = new UserPermissionRepository().ListPermissionKeys().Entities .Where(permissionKey => { // this sends permission information for all permission keys to client side. // if you don't need all of them to be available from script, filter them here. // this is recommended for security / performance reasons... return true; }).ToArray(); } foreach (var permissionKey in permissionsUsedFromScript) { if (Authorization.HasPermission(permissionKey)) permissions[permissionKey] = true; } return permissions; }); return result; }
public ScriptUserDefinition GetUserData() { var result = new ScriptUserDefinition(); var user = Authorization.UserDefinition as UserDefinition; if (user == null) { result.Permissions = new Dictionary <string, bool>(); return(result); } result.Username = user.Username; result.DisplayName = user.DisplayName; result.IsAdmin = user.Username == "admin"; result.UserRoles = user.UserRoles; result.Ktp = user.Ktp; result.UserRoles = user.UserRoles; //using (var connection = SqlConnections.NewFor<UserRoleRow>()) //{ // UserRoleListRequest request = new UserRoleListRequest(); // request.UserID = user.UserId; // List<int> userRoleList = new UserRoleRepository().List(connection, request).Entities; // List<string> arrRole = new List<string>(); // foreach (var roleId in userRoleList) // { // RetrieveRequest roleRequest = new RetrieveRequest(); // roleRequest.EntityId = roleId; // var roleName = new RoleRepository().GetRoleName(connection, roleId); // arrRole.Add(roleName); // } // user.UserRoles = string.Join(",", arrRole.ToArray()); // result.Roles = user.UserRoles; //} result.Permissions = TwoLevelCache.GetLocalStoreOnly("ScriptUserPermissions:" + user.Id, TimeSpan.Zero, UserPermissionRow.Fields.GenerationKey, () => { var permissions = new Dictionary <string, bool>(StringComparer.OrdinalIgnoreCase); if (permissionsUsedFromScript == null) { permissionsUsedFromScript = new UserPermissionRepository().ListPermissionKeys().Entities .Where(permissionKey => { // this sends permission information for all permission keys to client side. // if you don't need all of them to be available from script, filter them here. // this is recommended for security / performance reasons... return(true); }).ToArray(); } foreach (var permissionKey in permissionsUsedFromScript) { if (Authorization.HasPermission(permissionKey)) { permissions[permissionKey] = true; } } return(permissions); }); return(result); }