Как стать автором
Обновить

Отключение аутентификации 1C при клиент-серверном варианте работы

Бывают случаи, когда есть доступ к базе средствами СУБД, а пароль от пользователя 1С с полными права потерян, в этом случае возможно отключить аутентификацию 1С.

Платформа 1С при работе в клиент-серверном варианте хранит список пользователей в двух местах СУБД, а именно в таблице v8users и в файле users.usr который бинарно расположен в таблице Params.

Теперь попробуем заставить платформу думать, что в базе нет ни одного пользователя. Для этого необходимо всего навсего переименовать таблицу v8users и строчку с файлом users.usr. Выполним запрос чтобы отключить аутентификацию:

EXEC sp_rename 'v8users', 'v8users_old'
GO
UPDATE Params
SET FileName = 'users.usr_old'
WHERE FileName = 'users.usr'
GO


После этого открываем базу данных в конфигураторе и видим что платформа не спрашивает пользователя и пароль, при этом в базе будет заново создана таблица v8users. Теперь чтобы всех пользователей вернуть обратно не закрывая конфигуратора выполним запрос:

DROP TABLE v8users
GO
EXEC sp_rename 'v8users_old', 'v8users'
GO
UPDATE Params
SET FileName = 'users.usr'
WHERE FileName = 'users.usr_old'
GO


После выполнения запроса в списке пользователей появятся все пользователи 1С, останется только найти нужного и изменить ему пароль.

Примеры запросов применимы для Microsoft SQL Server.

Запросы при использовании PostgreSQL:

ALTER TABLE v8users RENAME TO v8users_old;
UPDATE Params SET FileName = 'users.usr_old' WHERE FileName = 'users.usr';


DROP TABLE v8users;
ALTER TABLE v8users_old RENAME TO v8users;
UPDATE Params SET FileName = 'users.usr' WHERE FileName = 'users.usr_old';


Запросы при использовании IBM DB2:

RENAME v8users TO v8users_old;
UPDATE Params SET FileName = 'users.usr_old' WHERE FileName = 'users.usr'


DROP TABLE v8users;
RENAME v8users_old TO v8users;
UPDATE Params SET FileName = 'users.usr' WHERE FileName = 'users.usr_old'
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.