Вопросы с тегами [security]

1

голосов
1

ответ
69

Просмотры

Есть ли безопасности Спринт JWT дело реализации с ALG: нет атаки? [закрыто]

Реализации JWT могут быть подвержены различным атакам, один из них является «ALG: нет» атака (подробнее здесь). Я использую «весна-безопасности JWT» зависимость в моем файле pom.xml, и был не в состоянии выяснить, является ли эта реализация сделок с «ALG: нет» атаки. Является ли эта атака смягчается осуществления пружинный безопасности JWT?
omer
1

голосов
1

ответ
3.6k

Просмотры

PKCS#11 engine for openSSL

Я пытаюсь настроить OpenSSL под Windows 7, чтобы использовать специальный модуль безопасности поставщика. От производителя я получил PKCS # 11 API DLL (позволяет сказать vendor.dll). PKCS # 11 двигатель был создан в соответствии с https://github.com/OpenSC/libp11 Как описано в ссылке, для тестирования, я начинаю OpenSSL двигатель PKCS11 -t, но получить: D: \ Шлюз \ OpenSSL \ Win32 \ Release > OpenSSL двигатель PKCS11 -t 11020: ошибка: 25078067: DSO поддержка подпрограмм: WIN32_LOAD: не удалось загрузить библиотеку:. \ Crypto \ DSO \ dso_win32.c: 179: имя файла (\ USR \ Local \ SSL \ Lib \ Engines \ pkcs11.dll) 11020: ошибка: 25070067: DSO поддержка подпрограмм: DSO_load: не удалось загрузить библиотеку:. \ Crypto \ DSO \ dso_lib.c: 233: 11020: ошибка: 260B6084: двигатель процедуры: DYNAMIC_LOAD: DSO не найдено: . \ Crypto \ двигатель \ eng_dyn.c: 467: 11020: ошибка: 2606A074: подпрограммы двигателя: ENGINE_by_id: нет такого двигателя:. \ Crypto \ двигатель \ eng_list.c: 390: ID = PKCS11 Файл конфигурации: [engine_section] PKCS11 = pkcs11_section [pkcs11_section] engine_id = PKCS11 dynamic_path = D: \ Шлюз \ libp11 \ libp11-мастер \ SRC \ pkcs11.dll MODULE_PATH = D: \ Шлюз \ драйвер \ smgw \ Win32 \ vendor.dll INIT = 0 Он пытается найти DLL в каталоге Unix \ USR \ Local ... кажется, что содержание динамического пути не оценивается вообще, потому что я могу указать все, что там, я получаю alwys сообщение об ошибке выше. Что я делаю неправильно? потому что я могу указать все, что там, я получаю alwys сообщение об ошибке выше. Что я делаю неправильно? потому что я могу указать все, что там, я получаю alwys сообщение об ошибке выше. Что я делаю неправильно?
michael
1

голосов
1

ответ
1.2k

Просмотры

Весна загрузка основной весна аутентификации загрузка сеанс возможно

У меня есть серверное приложение фонового пружинных загрузок, который реализует базовую аутентификацию по протоколу HTTPS. Не будем иметь традиционный веб-интерфейс переднего конца, а мой андроид и клиенты IOS будут использовать REST API вызовов. Бэкенд в настоящее время проверки информации имя пользователя и пароль, полученные и реагирует с правильными сообщениями о состоянии (401, 200). Могу ли я использовать пружинный загрузочный сеанс, чтобы иметь логин пользователя в начале сессии, а затем использовать значение сеанса для каждого последующего вызова REST API для этой сессии? Реализовать этот вопрос похож на [Спринг загрузки отдых безопасность с Android и IOS, но этот вопрос, похоже, не охватывает кэширования и с использованием значения сеанса принятым для все дополнительного Rest API призывает к сессии. Должен ли я передать значение сеанса в качестве параметра в Rest ставить и команды API размещать? Цель должна иметь приложение проверить пользователь зарегистрирован и проверить свои учетные данные, прежде чем принимать дополнительные команды остальное пут и пост. Я прочитал документацию spring.io, но не нашел эту тему охвачены. Несколько новичок пружинных ботинок.
geezer57
1

голосов
1

ответ
43

Просмотры

Можно ли ограничить «Уровень безопасности» в безопасный протокол канала (SCP) 02 связи?

У меня есть ситуации, когда я хочу, чтобы загрузить и установить апплет на карте. SCP_02 будет использоваться для выполнения аутентификации с ИСД или CM. Но я хочу аутентификация SCP_02 быть выполнена только с максимальной безопасностью, т.е. C-MAC и шифрованием. Ни один другой уровень безопасности не должно быть разрешено ИСД (или любым дополнительным SSD, где это необходимо). Можно ли добиться этого? Ожидаемый результат с помощью команды внешней проверки подлинности (Ex-Авт): Обычная Экс-идентификация: 8482000010f7d23150e635fd93d4e5ef76368f3d68 ожидаемых отклик: 6986 C-MAC Экс-идентификация: 8482010010f7d23150e635fd93d4e5ef76368f3d68 ожидаемых отклик: 6986 Enc + C-MAC-Экс-идентификации: 8482030010f7d23150e635fd93d4e5ef76368f3d68 ожидаемого отклик: 9000 ( аутентификация успешно)
Abhishek
1

голосов
0

ответ
3.4k

Просмотры

Только безопасные происхождения разрешены

У меня есть сервер и машины, которые имеют доступ мое приложение с Google Chrone. При попытке доступа к вебу-камере я получаю это сообщение: Uncaught (обещанию) DOMException: Только безопасное происхождение разрешено я нашел много решений на StackOverflow для нее, например, имеющего SSL или выполнения хрома с опционами, но ни один из них не кажется, соответствовать моим потребностям. В моем случае у меня есть локальная сеть, и все машины получить доступ к «серверу», используя свой локальный IP: 192.168.0.100/myappWithWebCam Как я могу гарантировать безопасное происхождение? Сервер не опубликован в Интернете. Есть ли место на хроме, где я могу просто «знак» этот IP в безопасности?
pedrofialho
1

голосов
1

ответ
246

Просмотры

Как обращаться с JWT аутентификации с Spring при реализации шаблона CQRS?

Используя новейшую Spring Cloud и Spring загрузку, у меня есть макет микро услуг с Zuul шлюзом. В тот момент, когда пользователь отправляет запрос получить их маркер JWT добавляется к запросу, и уходит в microservice, где они с проверкой подлинности и дела идут как обычно. Это все работает отлично. Где я немного застрял, когда обработка POST / PATCH / удаление запросов. Они не идут непосредственно к microservice они, предназначенные для, но вместо того, чтобы идти в очередь сообщений. Очередь содержит простой POJO с задачей и информацией о задаче выполнения, наряду с пользователями JWT. Когда принимающая microservice подхватывает сообщение из очереди и начинает обрабатывать его, пользователь технически не вошел в microservice, как они с запросом GET. Это делает его трудно делать то, что требуется знать, кто является пользователем. Конечно, каждый раз, когда мне нужно знать, кто этот человек, я могу смотреть их, но это, кажется неуклюжим. Я думал о создании контроллера REST для POST / PATCH / DELETE команды и имеющих слушателя очереди просто называют себя от них, добавляя маркер от задачи. Это будет фактически такой же, как запрос GET, насколько Spring безопасности будет все равно. Является ли это правильный шаблон? Или есть простой способ программно войти пользователь в с JWT? Я видел несколько примеров, используя имя пользователя / пароли, но не знает, как транскрибировать, что с помощью JWT. ве думал о создании контроллера REST для POST / PATCH / DELETE команды и имеющих слушателя очереди просто называют себя от них, добавляя маркер от задачи. Это будет фактически такой же, как запрос GET, насколько Spring безопасности будет все равно. Является ли это правильный шаблон? Или есть простой способ программно войти пользователь в с JWT? Я видел несколько примеров, используя имя пользователя / пароли, но не знает, как транскрибировать, что с помощью JWT. ве думал о создании контроллера REST для POST / PATCH / DELETE команды и имеющих слушателя очереди просто называют себя от них, добавляя маркер от задачи. Это будет фактически такой же, как запрос GET, насколько Spring безопасности будет все равно. Является ли это правильный шаблон? Или есть простой способ программно войти пользователь в с JWT? Я видел несколько примеров, используя имя пользователя / пароли, но не знает, как транскрибировать, что с помощью JWT.
Chris Turner
1

голосов
0

ответ
711

Просмотры

Как добавить роли в безопасности Spring загрузки из Zuul фильтра

Я занимаюсь разработкой приложений Spring Загрузочный REST, который имеет пользовательский маркер проверки подлинности системы. Маркер имеет роли для пользователя, как претензия. А Zuul прокси перенаправляет трафик на несколько microservices весны загрузки и я хотел бы добавить фильтр к Zuul так, что он извлекает роли из маркеров (хранятся в виде претензий) и устанавливает их в среде Spring безопасности (который я не знать внутренности), так что я могу настроить доступ в микро услуг с использованием стандартного подхода Spring безопасности, используя, например, WebSecurityConfigurerAdapter:. защищено недействительная Configure (AuthenticationManagerBuilder авторизация) бросает исключение {auth.inMemoryAuthentication () withUser ( «user1») .password ( "secret1") .roles ( "USER"). и (). withUser ( "admin1"). пароль ( "secret1" ) .roles ( "пользователь", "ADMIN"); } Таким образом, перефразировать ... как я могу включить эти роли из моих пользовательских маркеров, используя фильтр предварительной очистки в Zuul таким образом, они являются частью объекта AuthenticationManagerBuilder?
icordoba
1

голосов
0

ответ
108

Просмотры

Symfony4 security login form

I have a problem with login form in Symfony4. I use FOSUserBundle for security on my site, but i can't log in. It's my code: security.yaml security: # https://symfony.com/doc/current/book/security.html#where-do-users-come-from-user-providers encoders: App\Entity\User: algorithm: sha512 providers: user_provider: entity: class: App\Entity\User firewalls: main: anonymous: ~ provider: user_provider form_login: login_path: security_login check_path: security_login login.html.twig {% extends 'base.html.twig' %} {% block body %} {% if error %} {{ error.messageKey|trans(error.messageData, 'security') }} {% endif %} {{ form_start(form) }} {{ form_row(form._username) }} {{ form_row(form._password) }} Zaloguj {{ form_end(form) }} {% endblock %} and my controller public function login(Request $r, AuthenticationUtils $authUtils) { $error = $authUtils->getLastAuthenticationError(); $lastUsername = $authUtils->getLastUsername(); $form = $this->createForm(LoginType::class, [ '_username' => $lastUsername ]); return $this->render('home/login.html.twig', array( 'form' => $form->createView(), 'error' => $error )); } And when I try to log in, my console send me an error: [info] Authentication request failed [debug] Authentication failure, redirect triggered Passwords and username is ok I think... Why I can't log in?
PawiX
1

голосов
1

ответ
497

Просмотры

Начало Спринг загрузки Безопасность Работа с Azure AD

В настоящее время пытается получить Azure AD интегрирован с приложением Spring загрузки, я работаю. Я с использованием пакета лазурь-активного каталога весна-загрузки стартера, и следуя примеру, изложенным в официальной документации на веб-сайте Microsoft. Однако, когда, следуя примеру, я получаю следующее сообщение об ошибке: ossocrUserRedirectRequiredException: редирект требуется, чтобы получить одобрение пользователей Полный трассировки стека выглядит следующим образом: org.springframework.security.oauth2.client.resource.UserRedirectRequiredException: редирект требуется, чтобы получить одобрение пользователей на org.springframework.security.oauth2.client.token.grant.code.AuthorizationCodeAccessTokenProvider.getRedirectForAuthorization (AuthorizationCodeAccessTokenProvider.java:359) ~ [весна-безопасности-oauth2-2.0.14.RELEASE.jar: на] в org.springframework. security.oauth2.client.registered переадресация-Ури security.oauth2.client.pre учредил переадресацию-URI), но не смогли ничего нажимать совсем правильно. Я отправил комментарий к документу, но полагал, что я бы бросить его здесь, в случае, если кто имеет какую-либо идею!
ReservedDeveloper
1

голосов
0

ответ
68

Просмотры

Есть ли способ, чтобы указать доверенные происхождение для почтовых запросов в веб-приложение Google?

Скажем, я создал Google простыню, чтобы захватить адреса электронной почты пользователя. На моем сайте есть небольшая форма и после нажатия кнопки отправить щелкают и запрос Ajax для веб-приложения Google, который записывает данные в лист обжигают: // Выделим и кэш все поля вар $ входами = $ form.find ( "ввод, выберите кнопку, текстовое поле"); // Сериализация данные в виде вар serializedData = $ form.serialize (); // выпалить запрос запроса = $ .ajax ({URL: https://script.google.com/macros/s/longURLcode/exec, типа: "пост", данные: serializedData}); В сценарии Google теперь использовать doPost (е) или doGet (е), чтобы справиться с любым входящим запросом HTTP. Чтобы разрешить эту работу как знак вверх разрешений механизм для веб-приложения должны быть установлены в (я думаю!?) Выполнить приложение, как: Me ([email protected]) Кто имеет доступ к приложению: Любой, даже анонимное Учитывая все на сайте скрипта Google настроено правильно, это работает как шарм. Так что случилось? Проблема: Любой человек может либо заглянуть в исходный код своего веб-страницы или использовать средства разработки для извлечения URL в веб-приложение Google после нажатия кнопку. Этот URL теперь может теоретически использоваться, чтобы затопить лист с бесчисленными (не определен) записей. Вопросы: 1) Есть ли способ ограничить общепринятую запрос HTTP к определенному происхождению? Я пытался сделать это путем получения доступа к HTTP-заголовки в пределах doPost (), но, кажется, нет никакого способа сделать это. 2) Является ли «Кто имеет доступ к приложению: Любой, даже анонимный» неправильный подход? Я думал, что это необходимо, так как вы можете выбрать только пользователей Google здесь и некоторые URL (mywebsite.com), казалось, попадают в категорию анонимных. 3) Я не думаю, что это возможно, но, может быть, я пропустил один из вариантов: Есть ли способ, чтобы НЕ подвергать Google веб-приложения URL для кого? Я думаю, не потому, что вы можете контролировать любые запросы с Девыми инструментами. 4) Является ли использование листов для сбора такого рода данных просто ужасная идея в целом (частично по указанным выше причинам), и я должен найти другое решение как можно скорее?
Felix
1

голосов
0

ответ
893

Просмотры

swagger ui with spring security

I need specific role to access swagger ui snippet to access swagger-ui with role 2 ( tried following with no joy) http .csrf() .disable() .authorizeRequests() .antMatchers("/api/**").hasAuthority("ROLE_ROLE1") .antMatchers("/login/**").permitAll() .antMatchers("/info/**").permitAll() .antMatchers( "/configuration/ui", "/v2/api-docs", "/swagger-resources", "/configuration/security", "/swagger-ui.html", "/webjars/**").hasAuthority("ROLE_ROLE2") .and() .formLogin() .loginPage("/login.html") .loginProcessingUrl("/perform_login") .defaultSuccessUrl("/swagger-ui.html", true) .failureUrl("/login.html?error=true") .and().logout().logoutSuccessUrl("/login.html") Permit all works - this checks all the resources are granted access http .csrf() .disable() .authorizeRequests() .antMatchers("/api/**").hasAuthority("ROLE_ROLE1") .antMatchers("/login/**").permitAll() .antMatchers("/info/**").permitAll() .antMatchers( "/configuration/ui", "/v2/api-docs", "/swagger-resources", "/configuration/security", "/swagger-ui.html", "/webjars/**").permitAll() .and() .formLogin() .loginPage("/login.html") .loginProcessingUrl("/perform_login") .defaultSuccessUrl("/swagger-ui.html", true) .failureUrl("/login.html?error=true") .and().logout().logoutSuccessUrl("/login.html") there is in memory user for role2 auth .inMemoryAuthentication() .withUser("user1").password("userpassword").roles("ROLE2");; but when I login it doesnt bring up the swagger-ui , is there any thing missing ? permitAll does show the swagger-ui any help appreciated I tried http .csrf() .disable() .requestMatchers().antMatchers( "/swagger-ui.html", "/swagger-resources", "/configuration/ui", "/configuration/security", "/v2/api-docs", "/webjars/**", "/**") .and() .authorizeRequests() .antMatchers("/api/**").hasAuthority("ROLE_ROLE1") .antMatchers("/login/**").permitAll() .antMatchers("/info/**").permitAll() .antMatchers( "/swagger-ui.html", "/swagger-resources", "/configuration/ui", "/configuration/security", "/v2/api-docs", "/webjars/**").hasRole("ROLE2")
Jagruti Frank
1

голосов
0

ответ
270

Просмотры

Как скомпилировать AndroidManifest.xml без AAPT

Я делаю некоторые исследования низкого уровня на Android безопасности и wan't создать определенную AndroidManifest.xml с нестандартными тегами и элементами. Тем не менее, для создания / переупаковки APK, я использую apktool (что само по себе использует AAPT). Оба инструмента дезинфицировать .xml во время сборки (apktool б ...) файл, удаляя объекты или декларацию пользовательских DTD, например. Я также попытался более старые версии apktool (еще не отмершие старые AAPT). Есть ли способ, чтобы немного сырой компилировать AndroidManifest.xml как есть от своего простого текстового представления и, следовательно, иметь возможность вставлять, не указанные теги, элементы или DTD?
user7367183
1

голосов
0

ответ
317

Просмотры

Spring Framework and encode/decode of public key

Я пытаюсь создать новый RsaVerifier проверить открытый ключ: JwtHelper.decodeAndVerify (маркер, проверяющий); Я считаю, что это действует открытый ключ. Я правильно скопировать его из браузера. Она начинается с обратным характером, хотя. Это на самом деле имеет их в нескольких местах: ----- НАЧАТЬ PUBLIC KEY ----- \ nMIIBI ..... Он терпит неудачу при создании RsaVerifier. SignatureVerifier верификатор = NULL; если (key.startsWith ( "----- BEGIN PUBLIC KEY -----")) {Logger.log ( "Попытка получить ключ верификатор ..."); верификатор = новый RsaVerifier (ключ); // НЕ ЗДЕСЬ ... В частности, он терпит неудачу на последней строке в этом фрагменте из RsaKeyHelper: частный статический шаблон PEM_DATA = Pattern.compile ( "----- BEGIN (*) ----- (*).. ----- END -----», Pattern.DOTALL) (*.); статический KeyPair parseKeyPair (String pemData) {Сличитель т = PEM_DATA. согласовани (pemData.trim ()); если (! m.matches ()) {певд IllegalArgumentException ( "Строка не PEM закодированные данные"); } Тип: String = m.group (1); последний байт [] = содержание b64Decode (utf8Encode (m.group (2))); // FAILS здесь с ошибкой: Exception проверяющей фишка: org.springframework.security.jwt.codec.InvalidBase64CharacterException: Bad Base64 входного символ десятичного 92 в позиции массива 0 Я знаю десятичным 92 является прямым слэшем и у меня есть один в положении 0, в факт. Тем не менее, я попытался удалить возвратные символов и не признает его действительным. Вот ссылка на класс RsaKeyHelper: https://www.programcreek.com/java-api-examples/index.php?source_dir=spring-security-oauth-master/spring-security-jwt/src/main/java/ орг / springframework / безопасность / JWT / криптография / знак / RsaKeyHelper.
Mike
1

голосов
0

ответ
127

Просмотры

Способы бежать CHROOT PHP-FPM и другие подводные камни безопасности?

Я ищу в использовании CHROOT PHP-FPM для установки в многопользовательской и я пытаюсь собрать информацию на стороне безопасности вещей - спасаясь от CHROOT, утечек вещи и т.д., и как предотвратить / содержать их. Единственное, что я нашел до сих пор это: https://www.vennedey.net/blog/3-NSCD-socket-in-a-PHP-FPM-chroot-leaks-user-database Существуют ли другие вещи, которые я следует рассмотреть?
plamer
1

голосов
1

ответ
502

Просмотры

Предотвратить загрузку в формате mp3 в WordPress, но пусть это будет воспроизводиться через WP-плагин

Я загружая некоторое чувство собственного написал музыку на мой сайт, который должен быть воспроизведен с аудио-плагинов. Я споткнулся возможность поймать прямые ссылки из исходного HTML кода. Теперь я пытался защитить файлы с помощью файла Htaccess в этой папке (я нашел это решение в другом форуме) Опция -Indexes Order Deny, Allow Deny от всех Разрешить от 127.0.0.1 :: 1 Localhost Но с этим файлом .htaccess мамботов ISN «т иметь возможность играть музыку. Как я могу это сделать?
Söby
1

голосов
0

ответ
291

Просмотры

Удалены Content-Security-Policy (CSP) заголовок из .htaccess еще ресурсы заблокированы

Я очень новой для Content-Security-Policy. Я добавил этот заголовок в файле .htaccess мой сайт, чтобы добавить безопасности, но он нарушил мой сайт. Я пытался белым список всех доменов с соответствующими ресурсами, но это не сработало. Теперь я хочу, чтобы полностью удалить этот заголовок с моего сайта. Я попробовал следующее правило в файл .htaccess: Заголовок Content-отключенном Security-Policy и заголовок всегда незадана Content-Security-Policy, хотя те, заголовок теперь не приходит в ответ, как я проверил в онлайн-заголовок сервера, который сервер: openresty Дата: Thu, 25 января 2018 9:30:11 GMT Content-Type: текст / html; кодировка = UTF-8 Подключение: держать-жив X-Powered-By: PHP / 5.5.38 Вары: Origin, но те ресурсы по-прежнему заблокированы Content-Security-Policy, как я проверил в Firebug консоли. Кроме того, я проверил на обсерватории Mozilla, который говорит, что мой сайт реализован Content-Security-Policy. Теперь я хочу, чтобы полностью удалить этот заголовок и я использую виртуальный хостинг. Пожалуйста, помогите мне с этим.
Ashuosh Bajpay
1

голосов
2

ответ
118

Просмотры

AuthzForce XACML Ответ неопределенна

Я изучаю Authzforce XACML3.0 и я бегу в проблемы. Я постоянно получаю мои ответы, как неопределенные. Ниже моя установка и след Exception, который он бросает. Любая помощь приветствуется. Запрос файла: Julius Хибберт 45 46 http://medico.com/record/patient/BartSimpson чтения файла политики: политика для тестов на соответствие IIA011. Любой, кто 45 лет целочисленные может выполнить какие-либо действия на любом ресурсе. 45 PDP Файл конфигурации: Исключение трассировки: org.ow2.authzforce.core.pdp.api.IndeterminateEvaluationException: Функция урна: оазис: имена: дц: XACML: 1. BasePdpEngineAdapter.evaluate (BasePdpEngineAdapter.java:149) при XACMLTester.main (XACMLTester.java:29) Вызванный: org.ow2.authzforce.core.pdp.api.IndeterminateEvaluationException: Неопределенный Arg # 0 в org.ow2.authzforce.core .pdp.api.func.BaseFirstOrderFunctionCall.evalPrimitiveArgs (BaseFirstOrderFunctionCall.java:94) в org.ow2.authzforce.core.pdp.api.func.BaseFirstOrderFunctionCall.access $ 200 (BaseFirstOrderFunctionCall.java:53) в org.ow2.authzforce. core.pdp.api.func.BaseFirstOrderFunctionCall $ EagerSinglePrimitiveTypeEval.evaluate (BaseFirstOrderFunctionCall.java:658) ... 14 более Вызванный: org.ow2.authzforce.core.pdp.api.IndeterminateEvaluationException: Function урну: оазисы: имена: TC : XACML: 1.0: функция: целое число-один-и-только: Недопустимый аргумент # 0: пустой мешок или мешок размер> 1. Требуемый: одно и только одно значение в мешке. в org.ow2. 687) в org.ow2.authzforce.core.pdp.impl.PdpEngineConfiguration.getInstance (PdpEngineConfiguration.java:704) в XACMLTester.main (XACMLTester.java:23) Исключение говорит о том, что сумка или пусто, или более 1, но я не вижу, что, как проблема, как я обеспечиваю данные по мере необходимости. Любая помощь приветствуется
Nishant
1

голосов
0

ответ
63

Просмотры

ReactJS безопасности / запутывания констант и authed-только маршруты / скрипты

Я разрабатываю приложение ReactJS с PHP / Apache как сервер бэкенд REST. Приложение будет иметь как государственные маршруты, а также частные (админ-только) маршруты. Помимо этого, я буду требовать, чтобы защитить данные, такие как Google Maps API премиум идентификатор клиента + секрет, так что я не хочу, чтобы включить это в моем app.js. Есть стандартный протокол для обеспечения этой безопасности / запутывания? Принимает ли SSR заботу о некоторых или все это? Например, я не хочу, чтобы служить app.js от моего администратора бэкэнда к любому, кто не вошел в систему. В то время как любой отладки не раскроет сами данные, я не хочу подвергать вещи, которые могут указывать аспекты бизнес-модели / приложение. Казалось бы, очевидная вещь, чтобы сделать было бы иметь срабатывает маршрутизатор сначала передать обратно вызов на сервер, чтобы проверить, если пользователь авторизован ДО публикует сверток app.js. Это возможно? В случае Google Map API вызовов, будет решение будет иметь Promise (), который вызывает мой сервер (позволяющий сам сервер, чтобы назначить идентификатор клиента + секрет и заботиться о запросе), а затем ждать ответа сервера? Я предполагаю, что я смотрел бы использовать Google для PHP SDK для этого. Сейчас я играю с @ Google / карты, которая требует идентификатор клиента + секрет, когда требуется / инициализируется. Или мне нужно быть также работает Express.js на моем сервере, чтобы покрыть некоторые из этих вещей? Надеюсь, что этот вопрос не является слишком громоздким или расплывчатым, но я с трудом найти любую реальную информацию о том, как подходить к такому роду сценарии безопасности со стеком я использую. Заранее спасибо. будет решение будет иметь Promise (), который вызывает мой сервер (позволяющий сам сервер, чтобы назначить идентификатор клиента + секрет и заботиться о запросе), а затем ждать ответа сервера? Я предполагаю, что я смотрел бы использовать Google для PHP SDK для этого. Сейчас я играю с @ Google / карты, которая требует идентификатор клиента + секрет, когда требуется / инициализируется. Или мне нужно быть также работает Express.js на моем сервере, чтобы покрыть некоторые из этих вещей? Надеюсь, что этот вопрос не является слишком громоздким или расплывчатым, но я с трудом найти любую реальную информацию о том, как подходить к такому роду сценарии безопасности со стеком я использую. Заранее спасибо. будет решение будет иметь Promise (), который вызывает мой сервер (позволяющий сам сервер, чтобы назначить идентификатор клиента + секрет и заботиться о запросе), а затем ждать ответа сервера? Я предполагаю, что я смотрел бы использовать Google для PHP SDK для этого. Сейчас я играю с @ Google / карты, которая требует идентификатор клиента + секрет, когда требуется / инициализируется. Или мне нужно быть также работает Express.js на моем сервере, чтобы покрыть некоторые из этих вещей? Надеюсь, что этот вопрос не является слишком громоздким или расплывчатым, но я с трудом найти любую реальную информацию о том, как подходить к такому роду сценарии безопасности со стеком я использую. Заранее спасибо. Сейчас я играю с @ Google / карты, которая требует идентификатор клиента + секрет, когда требуется / инициализируется. Или мне нужно быть также работает Express.js на моем сервере, чтобы покрыть некоторые из этих вещей? Надеюсь, что этот вопрос не является слишком громоздким или расплывчатым, но я с трудом найти любую реальную информацию о том, как подходить к такому роду сценарии безопасности со стеком я использую. Заранее спасибо. Сейчас я играю с @ Google / карты, которая требует идентификатор клиента + секрет, когда требуется / инициализируется. Или мне нужно быть также работает Express.js на моем сервере, чтобы покрыть некоторые из этих вещей? Надеюсь, что этот вопрос не является слишком громоздким или расплывчатым, но я с трудом найти любую реальную информацию о том, как подходить к такому роду сценарии безопасности со стеком я использую. Заранее спасибо.
U4EA
1

голосов
0

ответ
99

Просмотры

Symfony4 - Basic Auth looping while using DB provider

I'm desperate : I'm using Symfony for years, and today I'm stuck on a basic stuff. As FOSUserBundle is not implemented for Sf4 yet, I decided to create a really basic User entity in DB to load user. But when I enter my username/password in the BasicAuth windows in my web browser (chrome) it's not logging me and loops over and over. Here is my security file : security: encoders: App\Entity\User: algorithm: bcrypt providers: native_provider: entity: class: App\Entity\User property: username manager_name: native_users firewalls: main: pattern: ^/ http_basic: ~ provider: native_provider access_control: - { path: ^/, roles: ROLE_USER } role_hierarchy: ROLE_ADMIN: ROLE_USER And my User class is exactly the same as the one in the symfony example : https://symfony.com/doc/current/security/entity_provider.html#create-your-user-entity Finally I created some User fixtures using [nelmio/alice][1] : App\Entity\User: user_1: id: '' username: 'admin' password: '\$2y\$10\$574w3EitCqOaHmhu4ER49.KPG2EMtcQlYrO0vdPyYW/EuqTHMCB0C' email: '[email protected]' isActive: true Where '\$2y\$10\$574w3EitCqOaHmhu4ER49.KPG2EMtcQlYrO0vdPyYW/EuqTHMCB0C' reprensent the "admin" word coded in bcrypt. Despite all these things, basic auth won't work. Any Idea ? Thanks !
Pete_Gore
1

голосов
0

ответ
391

Просмотры

Spring Interceptor which matches user id with a token

Я портирование веб-приложение REST из распорок 2 до весны 5 (ж / пружинной загрузки). В нашем Апи, мы проходим три атрибута в каждом запросе (имена анонимные): UUID, маркер, bananaId В интерфейсе мы ищем пользователь в базе данных с UUID, и проверить, если он имеет маркер в этом список лексем. Если у него есть, запрос авторизован и мы добавим bananaId к набору пользователя бананов. Я могу делать проверку в каждом запросе индивидуально - и это, как она была реализована в распорок. Как сделать весенний перехватчик, который будет делать это для каждого запроса (за исключением действий входа в систему)? Я успешно настроен HandlerInterceptorAdapter, но я застрял на том, что делать дальше. Какой подход является лучшим в этом случае? EDIT: псевдо-код контроллера @RequestMapping ( "/ getFoo" ) Публичное GetFooRsponse getFoo (@RequestBody запрос Request) {Дополнительно пользователь = GetUser (request.getUuid ()); если (. user.isPresent () && user.get () getGcmTokens () содержит (request.getGcmToken ()).) {user.get () getBanIds () добавить (request.getbanId ())..; // дескриптор запрос} еще {// несанкционированный? }} Решение, которое было бы в порядке: @RequestMapping ( "/ getFoo") @CheckGcmToken общественного GetFooRsponse getFoo (@RequestBody запрос UserRequest) {// дескриптор запроса}
Lutosław
1

голосов
1

ответ
1.4k

Просмотры

Как добавить заголовок запрос MockMvc, в зависимости от тестовой аннотации?

В продолжение этого вопроса, я задаюсь вопросом, как прозрачно добавить заголовок «Authorization» в MockHttpServletRequestBuilder, только если данный аннотацию присутствует на испытании. Образец: @RunWith (SpringRunner.class) @EnableSpringDataWebSupport @WebMvcTest (MyController.class) @Import ({WebSecurityConfig.class}) общественный класс MyControllerTest {@Autowired защищен MockMvc mockMvc; @Test @WithJwt (принципал = "админы", власти = { "READ_USERS"}) общественный недействительный readUsersAuthorityCanListUsers () бросает исключение {конечных пользователей List = Arrays.asList (администратор, пользователь); когда (userRepo.findAll (любой (Pageable.class))) thenReturn (новые PageImpl (пользователей)). this.mockMvc .Произвести (получить ( "/") .header ( "Авторизация", "Знаменосец Foo" )) .AndExpect (статус () isOk ()) .andExpect (jsonPath ( "$ содержание.", HasSize (users.size ().))); }} Как постобработку запроса построитель автоматически применять .header ( «Authorization», «Знаменосец Foo»), если тест украшен @WithJwt?
ch4mp
1

голосов
0

ответ
833

Просмотры

Создание папок в результатах Cygwin в неправильно заказанные разрешений, отказ открывать файлы

Это что-то в последнее время с моей Cygwin на Win 10. Если я «MkDir папки», то в Windows, проверка свойств папки и выберите вкладку Security дает всплывающее окно: Разрешения на папке неправильно упорядочены, которые могут вызвать некоторые записи быть неэффективны. Если я после этого создать файл в этой папке с Windows, для того, чтобы открыть этот файл, я должен сначала удалить одну из записей разрешений в свойствах> Безопасность> Дополнительно для этого файла. Эта запись указывает на «отрицают специальный доступ для владельца файла». Что вызывает неправильный порядок разрешений, а также то, что я считаю, это неправильно права быть назначены вновь созданную папку в Cygwin?
user1088084
1

голосов
0

ответ
50

Просмотры

Фильтр двух пользователей для Row Level Security

Я собираюсь использовать Row Level Security в сервере SQL Management Studio Мне нужна помощь с тем, как я могу назначить 2 пользователей, где один пользователь может видеть свои собственные строки, которые имеют «фиолетовый» в строках, а другой пользователь, который будет менеджером, будет иметь доступ, чтобы увидеть строки, которые содержат «Purple» и данные «Black». Например: выполнение, как пользователь = «User1» выберите * из цветов Пользователь1 будут видеть только те строки, которые содержат «Purple» Execute, как пользователь = «менеджер» выберите * из цветов Менеджера будет видеть все строки Пользователь1 (Фиолетовые данные) и их собственный ряд (черный данные)
test
1

голосов
0

ответ
102

Просмотры

Spring fires AuthorizedEvent just before AuthorizationFailureEvent

I am trying spring boot for some project and encountered an security related issue (possibly my mistake). I want to log user requests and operations in following manner (authentication is not a concern yet): Log(User Request ) -> Log(User Authorization Status) -> if (authz is succeed) then { Log (Time of method invocation) Log (Finalization time of method execution) } To handle these I implemented one Filter: @Component @Order(Ordered.HIGHEST_PRECEDENCE) public class CustomFilter extends AbstractAuthorizationAuditListener implements Filter { private ThreadLocal requestVariablesHolder= new ThreadLocal(); public void doFilter(...) { String executedMethodName = getHandlerMethod().getMethod().getName(); String executionId = UUID.randomUUID().toString(); HashMap params = ... this.requestVariablesHolder.set(params); log("Request taken",requestVariablesHolder.get()); chain.doFilter(...); } public void onApplicationEvent(AbstractAuthorizationEvent e) { if (e instanceof AuthorizedEvent) { log ("Authorization Granted", requestVariablesHolder.get()); }else if (e instanceof AuthorizationFailureEvent) { log ("Authorization Failed", requestVariablesHolder.get()); } } } and one HandlerInterceptor: @Order(Ordered.LOWEST_PRECEDENCE) public class MHandlerInterceptor implements HandlerInterceptor { public void preHandle () { log("started"); } public void postHandle () { log("finished"); } } For a user that has 'USER' role , I am able to take logs in the expected order. But for unauthorized user (using mockMVC) logs are generated in following order: Request Taken(with taskId : 9bf-....) Authorization Granted (with taskId : 9bf-....) Started (with taskId : 9bf-....) Authorization Failed (with taskId : 9bf-....) The unit test code block is as below: @Test public void testAuthForbidden() { initLogger(); String token= obtainAccessToken("username","password"); mockMvc.perform(put("/test").param("duration","100") .header("Authorization","Bearer "+token).andExpect(status() .isForbidden())); } where controller method is @PreAuthorize("hasRole('USER')") @RequestMapping(value="/test", method=RequestMethod.PUT) public void putTest(...) { } From the logs it is obvious that spring did not run the service method, but executed those implementations in an unexpected order (and generates an AuthorizedEvent before AuthorizationFailureEvent although user does not have any 'USER' role). I investigated code for AbstractSecurityInterceptor (FilterSecurityInterceptor) and find this causes the AuthorizedEvent triggering in "beforeInvocation", and then AuthorizationFailureEvent in "afterInvocation" method. Is There a way to not take AuthorizedEvent for unauthorized user Run the implemented interceptor after FilterSecurityImplementor Thanks in advance.
öncül korkut
1

голосов
0

ответ
44

Просмотры

Сохранение безопасности хоста с Docker контейнеров не корневыми

Я учитель, который должен позволить своим студентам создавать контейнеры Docker с использованием неадминистративных, сохраняя при этом безопасности и безопасности хоста. Из того, что я понимаю, я могу настроить среду Docker использовать пользовательские имена (userns) по умолчанию, это должно предоставить студент корневой идентичность в контейнерах, а отображение на регулярный внекорневой пользователь на хосте-машине. Но как я могу отрицать их способность пропускать этот пользователь переназначения, если они используют «--userns = хост» вариант?
Big Papoo
1

голосов
1

ответ
323

Просмотры

Как перенаправить j_spring_security_check

У меня есть Java Spring MVC веб-приложение, и я реализовал регистрационную часть с помощью пружинной безопасности. Версия яровой безопасности, я использую 3.2.5. Моя весна-security.xml файл выглядит следующим образом: Теперь у меня есть требование, где я буду показывать некоторое содержание первоначально, а затем пользователь должен войти в систему, чтобы просмотреть все содержимое. Поэтому я обеспечиваю знак в ссылке, которая будет воспитывать знак в форме. Но когда пользователь входит в систему, страница по умолчанию отображается. Я хочу, чтобы пользователь будет перенаправлен на URL, где пользователь уже. Я также попытался отправить форму к одному из моих методов пользовательского контроллера, а затем перенаправить к прыжку проверки безопасности оттуда. Я намерен сохранить текущий URL на сессии от метода и перенаправить пользователя на этот метод из целевого метода по умолчанию яровой безопасности в. Но перенаправлении весной проверка безопасности всегда дает мне недопустимое имя пользователя или пароль ошибки, так как он не в состоянии проверить подлинность пользователя. Мой пользовательский метод будет выглядеть следующим образом: @RequestMapping (значение = "/ Edu-логин", метод = RequestMethod.POST) публичная Строка eduLogin (@ModelAttribute ( "имя пользователя") Строка имя пользователь, @ModelAttribute ( "пароль") Строка пароль, модель модель, HttpServletRequest запрос, HttpServletResponse ответ, RedirectAttributes ра) {// Мой заказ логика Stroe URL на сессии ra.addAttribute ( "Имя пользователя", имя пользователя); ra.addAttribute ( "пароль", пароль); вернуться «переадресовать:
Geo Thomas
1

голосов
0

ответ
93

Просмотры

Вопросы безопасности перехода с RichFaces в Primefaces

У меня есть небольшой RichFaces веб-приложение, размещенное на сервере JBoss 6.4 EAP. Я хочу прямо сейчас запустить приложение вместо этого на 7.0 сервер JBoss EAP и модифицировать приложение, чтобы использовать Primefaces v6.1 вместо RichFaces. Может кто-нибудь сказать мне (или сделать обоснованное предположение) относительно того, что могут быть некоторые новые проблемы безопасности или последствия для этого? Спасибо
Fuzzy Analysis
1

голосов
0

ответ
104

Просмотры

Java EE Сотерия и Single Sign-On

Я прочитал блог от Арьян Tijms на Java EE новой реализации Сотерия. Я хотел бы знать, если это может быть использован для реализации одного модуля аутентификации входа на несколько веб-приложений, размещенных в независимых серверов с несколькими доменами. Если да, то кто-то может дать некоторые указания о том, как это осуществить?
Cadrian Brown
1

голосов
0

ответ
123

Просмотры

Не в состоянии развернуть войну в TOMCAT сервера в локальном

Я не в состоянии развернуть архив войны. Я получаю ошибку ниже при запуске сервера. Когда я начинаю кот Apache вне его работает нормально, но я хочу, чтобы настроить с затмением для отладки. [2018-02-19 09: 32: 20: 437]: Инициализация initWebApplicationContext :: Контекст не удалось: ОШИБКА org.springframework.web.context.ContextLoader :( ContextLoader.java:331) [локальный-стартстопный-1] org.springframework .beans.factory.BeanCreationException: Ошибка при создании боб с именем «serviceDirectory», определенного в ServletContext ресурса [/WEB-INF/context/coreContext.xml]: не удается разрешить ссылку на боб «userBO» при установке боба свойство «bizMap» с ключом [ TypedStringValue: значение [пользователь], целевой тип [нулевой]]; вложенное исключение org.springframework.beans.factory.BeanCreationException: Ошибка при создании боба с именем ' userBO»определено в ServletContext ресурс [/WEB-INF/context/applicationContext.xml]: Не удается разрешить ссылку на боб„userBOTarget“при установке свойства компонента„цели“; вложенное исключение org.springframework.beans.factory.BeanCreationException: Ошибка при создании боб с именем «userBOTarget» определено в ServletContext ресурс [/WEB-INF/context/applicationContext.xml]: Не удается разрешить ссылку на боб «userDAO» при установке свойства компонента 'userDAO'; вложенное исключение org.springframework.beans.factory.BeanCreationException: Ошибка при создании боб с именем «userDAO» определено в ServletContext ресурс [/WEB-INF/context/applicationContext.xml]: Не удается разрешить ссылку на боб «hibernateTemplate» при установке свойство компонента 'hibernateTemplate'; вложенное исключение org.springframework. beans.factory.BeanCreationException: Ошибка при создании боб с именем «hibernateTemplate» определено в ServletContext ресурс [/WEB-INF/context/applicationContext.xml]: Не удается разрешить ссылку на боб «SessionFactory» при установке боба свойство «SessionFactory»; вложенное исключение org.springframework.beans.factory.BeanCreationException: Ошибка при создании боба с именем «SessionFactory» определен в ServletContext ресурсе [/WEB-INF/context/applicationContext.xml]: Инициализация боба не удалась; вложенное исключение составляет java.lang.NullPointerException в org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference (BeanDefinitionValueResolver.java:334) в org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary (BeanDefinitionValueResolver.java: 108) ... 72 еще 19 февраля 2018 9:32:20 AM org.apache.catalina.core.StandardContext listenerStart СИЛЬНЫЙ: Исключение отправки контекст инициализирован событие слушателя экземпляра класса org.springframework.web.context.ContextLoaderListener орг. springframework.beans.factory.BeanCreationException: Ошибка при создании боба с именем «serviceDirectory», определенный в ServletContext ресурсе [/WEB-INF/context/coreContext.xml]: не удается разрешить ссылку на боб «userBO» при установке боба свойства «bizMap» с ключом [TypedStringValue: значение [пользователь], целевой тип [нулевой]]; вложенное исключение org.springframework.beans.factory.BeanCreationException: Ошибка при создании боб с именем «userBO» определено в ServletContext ресурс [/WEB-INF/context/applicationContext.xml]: Не удается разрешить ссылки на боб «userBOTarget» при установке свойства компонента «цели»; вложенное исключение org.springframework.beans.factory.BeanCreationException: Ошибка при создании боб с именем «userBOTarget» определено в ServletContext ресурс [/WEB-INF/context/applicationContext.xml]: Не удается разрешить ссылку на боб «userDAO» при установке свойства компонента 'userDAO'; вложенное исключение org.springframework.beans.factory.BeanCreationException: Ошибка при создании боб с именем «userDAO» определено в ServletContext ресурс [/WEB-INF/context/applicationContext.xml]: Не удается разрешить ссылку на боб «hibernateTemplate» при установке свойство компонента 'hibernateTemplate'; вложенное исключение org.springframework.beans.factory.BeanCreationException: Ошибка при создании боба с именем «hibernateTemplate» определенный в ServletContext ресурс [/WEB-INF/context/applicationContext.xml]: Не удается разрешить ссылку на боб «SessionFactory» при установке боба свойство «SessionFactory»; вложенное исключение org.springframework.beans.factory.BeanCreationException: Ошибка при создании боба с именем «SessionFactory» определен в ServletContext ресурсе [/WEB-INF/context/applicationContext.xml]: Инициализация боба не удалась; вложенное исключение составляет java.lang.NullPointerException в org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference (BeanDefinitionValueResolver.java:334) в org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary (BeanDefinitionValueResolver.java:108) в org.springframework.beans.factory.support.BeanDefinitionValueResolver.
Fakkir mohamed Sait
1

голосов
0

ответ
913

Просмотры

Подходы к функциональности выхода из системы в Spring загрузки приложения (Spring Security + JWT)

Я создаю приложение Spring Загрузочный + Spring Security с аутентификацией JWT и что-то вроде этого работает: клиент отправляет имя пользователя, пароль для входа в систему конечной точки; сервер проверяет предоставленные учетные данные действительны и возвращают маркер; клиент отправляет маркер с каждым последующим запросом. Он основан на этом пример и подходе к функциональности выхода из системы, которые автор предлагает - просто удалить JWT маркер на стороне клиента. Я не думаю, что это хорошая идея, и я хотел бы реализовать его на заднем конце. Как я понимаю, мне нужно удалить JWT маркер пользователя, который называют методом выхода из REST на стороне сервера, после того, что, когда этот пользователь будет вызывать другие методы REST, он должен получить ответы с 403 ошибкой. Я исследовал способы, как я могу добавить эту функцию и не нашел какое-либо подходящее решения. Вот подробности моей реализации (там могут быть некоторые отличия от примера из приведенной выше ссылке): @EnableWebSecurity общественного класса WebSecurity расширяет WebSecurityConfigurerAdapter {личное UserDetailsService UserDetailsService; частный BCryptPasswordEncoder bCryptPasswordEncoder; общественного WebSecurity (UserDetailsService UserDetailsService, BCryptPasswordEncoder bCryptPasswordEncoder) {this.userDetailsService = UserDetailsService; this.bCryptPasswordEncoder = bCryptPasswordEncoder; } @Override защищен недействительная Configure (HttpSecurity HTTP) бросает исключение {http.cors (). И (). CSRF (). Отключить (). AuthorizeRequests () .antMatchers (HttpMethod.POST, SIGN_UP_URL) .permitAll () .antMatchers ( HttpMethod.POST, LOGIN_URL) .permitAll () .antMatchers (HttpMethod.GET, HEALTH_URL) .permitAll () .anyRequest (). Проверка подлинности () .и () .addFilter (новый JWTAuthenticationFilter (AuthenticationManager ())) .addFilter (новый JWTAuthorizationFilter (AuthenticationManager ())) // это запрещает создание сеанса на Spring Security. . sessionManagement () sessionCreationPolicy (SessionCreationPolicy.STATELESS); } @Override общественных недействительное конфигурирование (AuthenticationManagerBuilder аутентификация) бросает исключение {auth.userDetailsService (UserDetailsService) .passwordEncoder (bCryptPasswordEncoder); } @Bean CorsConfigurationSource corsConfigurationSource () {Окончательный источник UrlBasedCorsConfigurationSource = новый UrlBasedCorsConfigurationSource (); source.registerCorsConfiguration ( "/ **", новый CorsConfiguration (). applyPermitDefaultValues ​​()); вернуться источник; }} Общественного класса JWTAuthorizationFilter расширяет BasicAuthenticationFilter {общественного JWTAuthorizationFilter (AuthenticationManager AuthManager) {супер (AuthManager); } @Override защищен doFilterInternal пустот (HttpServletRequest REQ, HttpServletResponse разреш, FilterChain цепи) бросает IOException, ServletException {строка заголовка = req.getHeader (HEADER_STRING); если (заголовок == NULL || header.startsWith (TOKEN_PREFIX)!) {chain.doFilter (REQ, разрешение); вернуть; } UsernamePasswordAuthenticationToken аутентификации = getAuthentication (REQ); . SecurityContextHolder.getContext () setAuthentication (аутентификация); chain.doFilter (REQ, разрешение); } Частная UsernamePasswordAuthenticationToken getAuthentication (HttpServletRequest запроса) {Строка маркер = request.getHeader (HEADER_STRING); если (токенов! = NULL) {пользователя String = Jwts.parser () .setSigningKey (SECRET.getBytes ()) .parseClaimsJws (token.replace (TOKEN_PREFIX, "")) .getBody () .getSubject (); если (! пользователь = NULL) {вернуть новый UsernamePasswordAuthenticationToken (пользователь, пустой, новый ArrayList ()); } Возвращать нуль; } Возвращать нуль; }} Общественного класса JWTAuthenticationFilter расширяет UsernamePasswordAuthenticationFilter {личное AuthenticationManager AuthenticationManager; общественного JWTAuthenticationFilter (AuthenticationManager AuthenticationManager) {this.authenticationManager = AuthenticationManager; setFilterProcessesUrl (LOGIN_URL); } AttemptAuthentication @Override общественного Authentication (HttpServletRequest REQ, HttpServletResponse Рез) бросает AuthenticationException {попробовать {кредитки пользователя = новый ObjectMapper () readValue (req.getInputStream (), User.class). вернуться authenticationManager.authenticate (новый UsernamePasswordAuthenticationToken (creds.getUsername (), creds.getPassword (), новый ArrayList ())); } Поймать (IOException е) {певд RuntimeException (е); }} @Override защищен недействительный successfulAuthentication (HttpServletRequest REQ, HttpServletResponse разрешения, FilterChain цепь, Аутентификация аутентификация) бросает IOException, ServletException {Строка маркера = Jwts.builder () .setSubject (((org.springframework.security.core.userdetails.User) . auth.getPrincipal ()) GetUserName ()) .setExpiration (новая дата (System.currentTimeMillis () + EXPIRATION_TIME)) .signWith (SignatureAlgorithm.HS512, SECRET.getBytes ()) .compact (); res.addHeader (HEADER_STRING, TOKEN_PREFIX + маркер); }} SecurityConstants общественного класса {государственной статической конечной строки SECRET = "SecretKeyToGenJWTs"; общественности статической окончательный долго EXPIRATION_TIME = 864_000_000; // 10 дней общественность статическая конечная строка TOKEN_PREFIX = «Знаменосец»; общественности статической конечной строки HEADER_STRING = «Authorization»; }
Gleb Kosteiko
1

голосов
0

ответ
406

Просмотры

Null Pointer при попытке получить Principal пользователя с октом

После регистрации на сайте, используя окт для проверки подлинности я перейти на главной страницу, и это дает исключение нулевого указателя, когда я пытаюсь захватить вошедший пользователь Принципал. Вот моя зависимости безопасности: (Я использую Spring загрузку 1.5.6) org.springframework.boot весна-загрузочный стартер-безопасность com.okta.spring окта-весна-Boot-стартер 0.2.0 org.springframework.security.oauth весна-безопасности oauth2 2.2.0.RELEASE Вот мой контроллер: @GetMapping ( "/") публичный дом Строка (модель модель, главный принципала) {System.out.println (principal.getName ()); вернуться домой"; } Любая помощь мне точку в правильном направлении, было бы здорово. Я посмотрел на документацию и, кажется, я не делаю вещи неправильно.
ebraun99
1

голосов
0

ответ
555

Просмотры

Весна загрузки 2,0 веб поток пользовательских аутентификации - как?

Есть много примеров минимальных конфигураций Spring загрузка 2.0 безопасности, которые компилируются или не в зависимости от того, какой вехи или релиза-кандидата вы пытаетесь. Что такое минимальная конфигурация, которая не является HTTP Basic, что будет (1), дайте мне доступ запрос HTTP (заголовки, печенье и т.д.), а также назвать свой собственный менеджер аутентификации? Я хотел бы посмотреть на заголовки и печеньем, и решить, от тех, кто является пользователем, и будет ли проверка подлинности пользователя. Как мне это не имеет значения для этого ответа - вопрос, что является минимальной Spring конфигурация безопасности для того, чтобы позволить мне подвесьте к инфраструктуре безопасности, так что моя аутентификация есть в реакционноспособных конечных точках? EDIT: Это работает с весной загрузка 2.0.0.RC2, поэтому мой вопрос может быть, это правильный способ ввести пользовательскую проверку подлинности в Spring Security? @Configuration @EnableWebFluxSecurity общественного класса SecurityConfiguration {@Bean общественного SecurityWebFilterChain springSecurityFilterChain (ServerHttpSecurity HTTP) {AuthenticationWebFilter authenticationFilter = новый AuthenticationWebFilter (аутентификация -> {authentication.setAuthenticated (истина), возвращение Mono.just (аутентификации);}); authenticationFilter.setAuthenticationConverter (serverWebExchange -> Mono.just (новый AbstractAuthenticationToken (новый ArrayList ()) {@Override getCredentials общественного объекта () {вернуться NULL; } @Override общественного объекта getPrincipal () {возвращение "джим"; }})); вернуть http.addFilterAt (authenticationFilter, SecurityWebFiltersOrder.FORM_LOGIN) .authorizeExchange () .anyExchange () .authenticated () .И () .build (); }} Вы можете себе представить, что в преобразователе, я свободен смотреть в запрос путем serverWebExchange и инспектировать любые заголовки или печенье я желаю, а затем в верхней лямбда (стоя в течение ReactiveAuthenticationManager) я могу на самом деле решить, будет ли или не должно быть заверено. addFilterAt (authenticationFilter, SecurityWebFiltersOrder.FORM_LOGIN) .authorizeExchange () .anyExchange () .authenticated () .И () .build (); }} Вы можете себе представить, что в преобразователе, я свободен смотреть в запрос путем serverWebExchange и инспектировать любые заголовки или печенье я желаю, а затем в верхней лямбда (стоя в течение ReactiveAuthenticationManager) я могу на самом деле решить, будет ли или не должно быть заверено. addFilterAt (authenticationFilter, SecurityWebFiltersOrder.FORM_LOGIN) .authorizeExchange () .anyExchange () .authenticated () .И () .build (); }} Вы можете себе представить, что в преобразователе, я свободен смотреть в запрос путем serverWebExchange и инспектировать любые заголовки или печенье я желаю, а затем в верхней лямбда (стоя в течение ReactiveAuthenticationManager) я могу на самом деле решить, будет ли или не должно быть заверено.
Jim Flood
1

голосов
1

ответ
727

Просмотры

Firestore разрешения отказано при использовании signInWithCredential (), React Native Expo

firebase.initializeApp (конфигурации); Const дБ = firebase.firestore (); Const googleSignIn = асинхронный () => {возвращение ждет Expo.Google.logInAsync ({androidClientId, iosClientId, области: [ 'профиля', 'электронной почты'],}); }; Const firebaseLogin = асинхронной (маркер доступа) => {Const креди = firebase.auth.GoogleAuthProvider.credential (нуль, маркер доступа); . Firebase.auth ждут () signInWithCredential (кредите) .catch (console.error); Const = idToken ждут firebase.auth () currentUser.getIdToken (истина) .catch (console.error). }; ждут firebaseLogin (googleSignIn () маркер доступа.); .. Db.collection ( "любой") документ () набор ({тест: "OK"}) я получаю разрешение отказано ошибка при попытке записи в Firestore используя request.auth.uid = NULL;! правила безопасности, но когда я заменить его правда работает. Кажется, что Firestore компонент веб-SDK не отправляет данные для проверки подлинности, даже если API на клиенте сообщает Firebase авторизован, и пользователь дата последний Войти появляется в веб-интерфейс. Необходимо ли передать параметры аутентификации компоненту Firestore при входе в систему непосредственно с Google (вместо использования Firebase API для входа в систему)? Код работает в React родного приложения через Expo. Другой пример, который получает разрешение: Отказано. Firebase.auth () onAuthStateChanged ((пользователь) => {если (пользователь) {firebase.firestore () сбор ( "любой") документ () набор ({тест:... " ХОРОШО"}); } }); Правила // Это нормально: сервис cloud.firestore {матч / базы данных / {база данных} / {документы матч / любой / {документ} {разрешить чтение, запись: если это правда; }}} // Разрешение отказано службы cloud.firestore {матч / базы данных / {базы данных} / {документы матч / любой / {документ} {позволяют читать, писать: если request.auth.uid = NULL; }}} Связанное Firebase Firestore недостающие или недостаточные разрешения с использованием Expo (React Native) https://forums.expo.io/t/firestore-with-firebase-auth-permissions-to-read-write-only-to-signed- в-пользователи / 5705
zino
1

голосов
0

ответ
186

Просмотры

Печать / Журнал Jenkins (/ Plugin Vulnerarbility) Предупреждения

Есть ли способ, чтобы получить все Vulnerability / Безопасность / Plugin - предупреждения, которые вы можете увидеть в Дженкинс-Master-WebGUI и печатать их в терминале? Мне нужен заводной-скрипт, который выводит все данные предупреждения, но я не знаю, где информация хранится. Я не могу найти что-нибудь в $ JENKINS_HOME. Я могу получить все мои текущие плагины и версии с: Jenkins.instance.pluginManager.plugins.each {плагин -> Println ( "$ {plugin.getDisplayName ()} ($ {plugin.getShortName ()}): $ {плагин. GetVersion ()} ")} Но я даже не могу найти сайт, опубликованный со всех уязвимых плагинов-версий для сравнения. svn.dev.java.net/svn/hudson/trunk/hudson/plugins/warnings не доступен. Кроме того, я не могу использовать предупреждения-плагин. Некоторые примеры предупреждений: Новая версия Дженкинс (2.89.4) доступны для скачивания (изменения). Предупреждения были опубликованы в следующих установленных компонентах: Дженкинс 2.89.3 ядра и библиотеки: уязвимости Multiple безопасности в Дженкинс 2.106 и ранее, и LTS 2.89.3 и более ранних версии этот экземпляр Дженкинс использует устаревшие протоколы: JNLP-подключение, JNLP2-подключение, JNLP3-соединение. Это может повлиять на стабильность экземпляра. Если новые версии протокола поддерживаются всеми компонентами системы (агенты, CLI и других клиентов), настоятельно рекомендуется отключить устаревшие протоколы.
knall0
1

голосов
0

ответ
26

Просмотры

Как скрыть URL от связи между серверами

Давайте предположим, что Я критический PHP скрипт, который работает на сервере. Я хочу, чтобы получить доступ к этому PHP скрипт с другого сервера. Я хочу, чтобы не только скрыть данные связи между 2 серверами, но также и URL для того, чтобы каждый раз, когда я называю URL это никогда не то же самое. Что является лучшим способом для достижения такого поведения?
Claudio Ferraro
1

голосов
1

ответ
108

Просмотры

В чем разница между инвалидом и лица без управления сеансами?

В чем разница между следующими параметрами:.. Http.sessionManagement () sessionCreationPolicy (SessionCreationPolicy.STATELESS) и http.sessionManagement () отключить ()? Похоже, что в первом случае будет добавлено SessionManagementFilter и ничего не делать. В то время как во втором случае он не будет добавлен на всех. Таким образом, кажется, что лучше всегда использовать второй вариант, если вам не нужны сеансы. Но я не уверен.
Victor Dombrovsky
1

голосов
1

ответ
32

Просмотры

Не удается извлечь CSP заголовок с питоном

Я хочу, чтобы извлечь все заголовки из определенного сайта, в данном примере «https://www.facebook.com» следующим образом: импорт urllib2 введите код here`req = urllib2.Request ( 'https://www.facebook.com / ') = Рез urllib2.urlopen (REQ) печати res.info () res.close (); что результаты в этом ответ: X-XSS-защита: 0 Pragma: нет-кэша Cache-Control: частный, нет-кэша, не-магазина, не обязательно перепроверить X-Frame-Options: ЗАПРЕТИТЬ Строгий-Transport-Security: max- возраст = 15552000; преднагрузки X-Content-Type-Options: nosniff Expires: Sat, 1 января 2000 00:00:00 GMT Set-Cookie: SB = 1GyeWkJzGbmX-VUyBi26; истекает = чт, 05-Mar-2020 10:26:28 GMT; Max-Age = 63071999; Путь = /; домен = .facebook.com; обеспечения; HttpOnly Vary: Accept-Encoding Content-Type: Текст / html; кодировка = UTF-8 X-FB-Debug: X9aSOOKs6 / aER1yuY4iUUIZrj4yTKtKSUAZ / AFE37IieCe8O4MSsFc5xlQ0LoQyHnbrSL4DaYiTVUUkFZeDrsqqg == Дата: Вт, 6 марта 2018 10:26:29 GMT Connection: близко я могу получить все заголовки для Content-Security-Policy (СНТ), за исключением; Но всякий раз, когда я тест на тест СНТ geekflare Он успешно извлечены все заголовки, включая СНТ один.
Snexx
1

голосов
0

ответ
216

Просмотры

Spring Security блокирует вызов кнопки на странице входа в систему

Issue: I am displaying a button for change of the language on a custom login form When user clicks on the button there should be a call to a function that changes the language, however, that is not happening because spring security is blocking other calls on that page. Java spring security configuration that I am using is: @Configuration @EnableWebSecurity(debug=false) public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(AuthenticationManagerBuilder auth) throws Exception { auth.inMemoryAuthentication() .withUser("test000").password("test1").roles("USER").and() .withUser("admin000").password("test1").roles("ADMIN").and() .withUser("dba000").password("test1").roles("ADMIN","DBA"); } @Override protected void configure(HttpSecurity http) throws Exception { http .authorizeRequests() .antMatchers("/login.xhtml","/resources/**","/javax.faces.resource/**").permitAll() .antMatchers("/views/**","/WEB-INF/template/**").authenticated() .anyRequest().authenticated() .and().formLogin().loginPage("/login.xhtml").usernameParameter("username").passwordParameter("password").defaultSuccessUrl("/home.xhtml") .and().logout().logoutSuccessUrl("/login.xhtml").deleteCookies("JSESSIONID").invalidateHttpSession(true) .and().exceptionHandling().accessDeniedPage("/accessDenied.xhtml") .and().httpBasic(); } } Note: When I swithch off csrf.disable() then the call to the button works, but then log in stops working. How should I set this up in order to have both log in and language change in place? JSF Login page: #{appMsg['application.title']}  
mkrstin
1

голосов
0

ответ
92

Просмотры

Как обезопасить DOM Parser

Был аудит безопасности на моем продукте, и они нашли уязвимость и их рекомендации являются XML-анализатор должен быть настроен надежно, так что она не допускает определение типа документа (DTD) пользовательские объекты и внешние объекты как части входящего документа XML. Я был в состоянии reslolve вопрос для XML TransformerFactory, путем осуществления следующих действий: TransformerFactory transFact = TransformerFactory.newInstance (); transFact.setFeature (XMLConstants.FEATURE_SECURE_PROCESSING, правда); transFact.setAttribute (XMLConstants.ACCESS_EXTERNAL_DTD, ""); Трансформатор транс = transFact.newTransformer (xsltSource); trans.transform (xmlSource, результат); Но есть один код, который они указывают, и я не имею никакого понятия, чтобы решить эту проблему. общественности статической DOMSource синтаксического анализа (String xmlPayload) бросает ResourceException {Попытаться {DOMParser oracleDomParser = новый DOMParser (); oracleDomParser.parse (новый StringReader (xmlPayload)); Документ док = oracleDomParser.getDocument (); вернуть новый DOMSource (doc.getDocumentElement ()); } Поймать (Exception е) {певд ResourceException (e.getMessage ()); }}
Prashanth A
1

голосов
1

ответ
467

Просмотры

Content-Security-Policy: Отказался выполнить встроенный скрипт

Я пытаюсь реализовать Content-Security-Policy. Мой HTML файл не содержит какой-либо код JavaScript для включения внешних JS-файлов, кроме. Но все-таки консоль говорит: Отказался выполнить инлайн-скрипт, так как он нарушает следующие директивы Content Security Policy: Так что мои вопросы: Является ли файл в том числе внешний JavaScript, как видно, как «инлайн-скрипт»? Если да, то что я могу сделать, чтобы эти сценарии через ПЕС? Я уже пытался использовать случайное слово в моем сценарии, но он всегда говорит: Не определено имя атрибута (одноразовое значение) Dev инструменты (например, Google Chrome) Обеспечивают ли функцию, чтобы увидеть, который встроенный сценарий procudes ошибку? Спасибо
Gusto

Просмотр дополнительных вопросов