TYPO3如何通过代码从用户中删除用户组?
private void injectInputEvent(KeyEvent event) {
try {
getInjectInputEvent().invoke(getInputManager(), event, 2);
} catch (IllegalAccessException | InvocationTargetException | NoSuchMethodException e) {
e.printStackTrace();
}
}
private static Method getInjectInputEvent() throws NoSuchMethodException {
Class<InputManager> cl = InputManager.class;
Method method = cl.getDeclaredMethod("injectInputEvent", InputEvent.class, int.class);
method.setAccessible(true);
return method;
}
private static InputManager getInputManager() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
Class<InputManager> cl = InputManager.class;
Method method = cl.getDeclaredMethod("getInstance");
method.setAccessible(true);
return (InputManager) method.invoke(cl);
}
injectInputEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK));
injectInputEvent(new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_BACK));
不起作用
答案 0 :(得分:1)
它应该。请注意,FronendUser缓存在会话中。如果您要删除当前登录用户中的组,则在下次登录之前这将无效。
答案 1 :(得分:-1)
它没有! TYPO3 只是默默地不进行更新,没有错误消息。 验证它确实不起作用的最佳方法是检查数据库。 由于 TYPO3 在使用标准存储库函数时似乎没有进行更新甚至插入,因此我已经开始为重要的事情编写自己的函数。然后他们使用 SQL 绕过所有 TYPO3 开销。 我知道这违背了拥有抽象数据库层的目的,但由于抽象会出现危险的故障,我决定走这条路,因为数据比抽象概念更重要!