TYPO3如何从用户中删除用户组

时间:2017-08-01 09:14:15

标签: typo3 extbase

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));

不起作用

2 个答案:

答案 0 :(得分:1)

它应该。请注意,FronendUser缓存在会话中。如果您要删除当前登录用户中的组,则在下次登录之前这将无效。

答案 1 :(得分:-1)

它没有! TYPO3 只是默默地不进行更新,没有错误消息。 验证它确实不起作用的最佳方法是检查数据库。 由于 TYPO3 在使用标准存储库函数时似乎没有进行更新甚至插入,因此我已经开始为重要的事情编写自己的函数。然后他们使用 SQL 绕过所有 TYPO3 开销。 我知道这违背了拥有抽象数据库层的目的,但由于抽象会出现危险的故障,我决定走这条路,因为数据比抽象概念更重要!