Измените/Замените код в СТАРОМ 'react-cache/cjs/react-cache.development.js''
-:
var currentOwner = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner;
function readContext(Context, observedBits) {
var dispatcher = currentOwner.currentDispatcher;
if (dispatcher === null) {
throw new Error('react-cache: read and preload may only be called from within a ' + "component's render. They are not supported in event handlers or " + 'lifecycle methods.');
}
return dispatcher.readContext(Context, observedBits);
}
НОВЫЙ-:
const ReactCurrentDispatcher =
React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED
.ReactCurrentDispatcher;
function readContext(Context, observedBits) {
const dispatcher = ReactCurrentDispatcher.current;
if (dispatcher === null) {
throw new Error(
'react-cache: read and preload may only be called from within a ' +
"component's render. They are not supported in event handlers or " +
'lifecycle methods.',
);
}
return dispatcher.readContext(Context, observedBits);
}
Я прокрутил свой собственный "approle" в прошлом, это не слишком твердо. Создайте роль базы данных для каждого типа пользователя (менеджер, casher, клерк, безотносительно). Создайте пользователя базы данных с названием группы (manager_user, casher_user, clerk_user и т.д.). Создайте счета на Ваших реальных пользователей и поместите их в роли базы данных. Проверьте своих пользователей asp.net путем входа их в базу данных (откройте и закройте соединение), справочная таблица или лучше всего если Вы используете аутентификацию Windows и просто получаете их имя пользователя от IIS. Проверьте их членство в роль базы данных, но войдите в систему базы данных с помощью role_user. Можно защитить объекты базы данных через role_user, пользователи не входят и не имеют доступа ни к каким объектам sql, и Вы делаете пересадку, объединяя.
Я не использовал роли приложения прежде, но от того, что я знаю о хите перфекта, то, что после установки роли приложения нет никакого способа вернуться к предыдущему контексту защиты. Таким образом соединение не может быть снова использовано в объединении. Это одно является огромным хитом перфекта, который вынуждает Вас думать дважды об использовании ролей приложения.
Однако в документах говорится, что, начиная с SQL Server 2005 там является способом помнить исходный контекст защиты в своего рода cookie, возвращенном из sp_setapprole и после того использования sp_unsetapprole для возвращения назад к нему. Таким образом, объединение должно работать снова. На вашем месте я сравнил бы перфект с несколькими простыми statements/sprocs.
Какая-либо причина Вы не используете стандартное членство ASP.NET API на прикладном уровне вместо ролей приложения?