private void CheckPermissions(MethodInfo method) { object[] perms = (object[])permCache[method]; if (perms == null) { permCache.Add(method, perms = method.GetCustomAttributes(typeof(DemandPermissionsAttribute), true)); } if (perms.Length > 0) { if (Context.CurrentUser is IExtendedPrincipal) { PermissionChecker.CheckPermissions((IExtendedPrincipal)Context.CurrentUser, perms, "O usuário '{0}' não possui a permissão necessária."); } else { throw new SecurityException("Usuário não conectado."); } } }
public static void CheckUserPermissions(Type t) { PermissionChecker.CheckPermissions(t, CurrentUser, null); }
public static void CheckUserPermissions() { PermissionChecker.CheckPermissions(CurrentUser); }
public void ChechGuestPermissions() { var checker = new PermissionChecker(); Assert.AreEqual(false, checker.CheckPermissions(new Mp3File("sample.mp3"), UserRole.Guest)); }
public void ChechAdministratorPermissions() { var checker = new PermissionChecker(); Assert.AreEqual(true, checker.CheckPermissions(new Mp3File("sample.mp3"), UserRole.Administrator)); }