HttpContext. Текущий. Пользователь. IsInRole (roleName) всегда возвращает false

Если Вы не хотите устанавливать что-нибудь вообще, что можно "создать собственный" пакетный файл, который делает задание от стандартных команд Windows. Вот некоторые указатели относительно того, как сделать это.

1) Используя [1 110] находят/c/v "" yourinput.file, получают количество строк в Вашем входном файле. Вывод - что-то как:

---------- T.TXT: 15

2) Используя [1 111] для/f, проанализируйте этот вывод для получения номера 15.

3) Используя [1 112]/a набора, вычислите количество главных строк, которое должно быть пропущено

4) Используя [1 113] для/f "skip=n", пропускают главные строки и повторяют/обрабатывают строки хвоста.

, Если я нахожу время, я создам такой пакетный файл и отправлю его назад здесь.

РЕДАКТИРОВАНИЕ: tail.bat

REM tail.bat
REM
REM Usage: tail.bat <file> <number-of-lines> 
REM
REM Examples: tail.bat myfile.txt 10
REM           tail.bat "C:\My File\With\Spaces.txt" 10

@ECHO OFF
for /f "tokens=2-3 delims=:" %%f in ('find /c /v "" %1') do (
    for %%F in (%%f %%g) do set nbLines=%%F )
set /a nbSkippedLines=%nbLines%-%2
for /f "usebackq skip=%nbSkippedLines% delims=" %%d in (%1) do echo %%d
7
задан Hamman359 14 August 2009 в 15:12
поделиться

2 ответа

Во-первых: используйте профилировщик и при выполнении строки HttpContext.Current.User.IsInRole ("{roleName}") проверьте, что это за запрос sql.

Если он не выполняет query, то у вас, вероятно, есть cacheRolesInCookie = "true", и IsInRole будет проверять FormsAuthenticationTicket на предмет UserData. Убедитесь, что при создании FormsAuthenticationTicket вы устанавливаете параметр userdata в виде строки, разделенной запятыми, с ролями пользователя.

4
ответ дан 7 December 2019 в 07:48
поделиться

Попробуйте очистить кеш cookie в браузере. Я некоторое время ломал голову над аналогичной проблемой, и очистка файлов cookie решила проблему.

0
ответ дан 7 December 2019 в 07:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: