2

Typo3拡張機能でユーザーをプログラムで( SQLなしで)作成または削除することは可能ですか?

4

2 に答える 2

2

CRUD フロントエンド ユーザー (fe_users) には、独自の Extbase 拡張機能で使用できるリポジトリとモデルが既に用意されています。下...

Typo3/sysext/extbase/クラス/ドメイン

Model クラスと Repository クラスを見つけることができます。

于 2016-05-14T21:42:56.477 に答える
1

いくつかのコード例:

function createUser() {
    // TypoScript Template mit userid anlegen
    // Neue Seite anlegen
    $tmpId = 'NEWuser478d8d';
    $data['be_users'][$tmpId] = array(
        'username' => $this->email,
        'password' => $this->password,
        'admin' => 0,
        'pid' => 0,
        'usergroup' => $this->usergroup,
        'lang' => 'de',
        'email' => $this->email,
        'db_mountpoints' => '',
        'realName' => $this->realName,
        'file_mountpoints' => '',
        'fileoper_perms' => (int)$this->conf['fileoper_perms'],
        'options' => '2', // mount from group: filemount, aber nicht dbmount
        'db_mountpoints' => $this->dbMountPage,
        'file_mountpoints' => $this->conf['file_mountpoints'],
        'workspace_perms' => 0,
        'workspace_id' => 0,
        'workspace_preview' => 0
    );
    $this->debug($data, 'beuser');
    $this->tce->start($data,array());
    $this->tce->process_datamap();
    $this->userid =  $this->tce->substNEWwithIDs[$tmpId];
    // t3lib_div::debug('Neue Userid:'.$this->userid);
    return true;
}

アクティブなbe-userが必要なので、作成してください:

/**
 *  Creates a Be-User
 *
 *  @return     void
 */
function setBeUser() {
    global $BE_USER;
    unset($BE_USER);
    $BE_USER        = t3lib_div::makeInstance('t3lib_beUserAuth');
    $BE_USER->OS    = TYPO3_OS;
    $BE_USER->setBeUserByUid($this->conf['setBeUserByUid']);
    $BE_USER->fetchGroupData();
    $BE_USER->backendSetUC();

    $GLOBALS['BE_USER'] = $BE_USER;

    $GLOBALS['LANG'] = t3lib_div::makeInstance('language');
    $GLOBALS['LANG']->init($BE_USER->uc['lang']);

    return $BE_USER;
}

初期化:

$this->tce = t3lib_div::makeInstance('t3lib_TCEmain');
$this->tce->BE_USER = $this->setBeUser();
$this->tce->stripslashes_values = 0;
$this->createUser();
于 2013-06-11T10:52:16.817 に答える