タグ付けされた質問 「spring-security」

Spring Securityは、Spring Frameworkのアプリケーションセキュリティソリューションです。Springセキュリティを使用して、URLとメソッド呼び出しを保護できます。スタンドアロンのWebアプリケーション、ポートレット、およびますますRESTアプリケーションを保護するために広く使用されています。

12
Springのフィルターでスローされた例外を管理する方法は?
5xxエラーコードを管理する一般的な方法を使用したいと思います。具体的には、dbが私のスプリングアプリケーション全体でダウンしている場合を考えてみましょう。スタックトレースではなく、かなりのエラーjsonが必要です。 コントローラーの@ControllerAdvice場合、さまざまな例外のクラスがあり、これは、dbが要求の途中で停止している場合もキャッチしています。でもこれは全てではない。また、カスタムCorsFilter拡張OncePerRequestFilterを使用しているので、呼び出すとdoFilter取得CannotGetJdbcConnectionExceptionされ、によって管理されません@ControllerAdvice。私はオンラインでいくつかのことを読んで、混乱するだけでした。 だから私はたくさんの質問があります: カスタムフィルターを実装する必要がありますか?私は見つけましたExceptionTranslationFilterが、これはハンドルAuthenticationExceptionまたはAccessDeniedExceptionます。 私は自分HandlerExceptionResolverでを実装することを考えましたが、これは疑いました。管理するカスタムの例外はありません。これよりも明白な方法があるはずです。私はまた、try / catchを追加して、HandlerExceptionResolver(十分なはずですが、私の例外は特別なものではありません)の実装を呼び出しましたが、これは応答で何も返さず、ステータス200と空の本文が返されます。 これに対処する良い方法はありますか?ありがとう


7
セッションなしでSpring Securityを使用するにはどうすればよいですか?
私は、Amazon EC2で動作し、AmazonのElastic Load Balancerを使用するSpring Securityを備えたWebアプリケーションを構築しています。残念ながら、ELBはスティッキーセッションをサポートしていないため、セッションなしでアプリケーションが正しく動作することを確認する必要があります。 これまでのところ、Cookieを介してトークンを割り当てるようにRememberMeServicesを設定しましたが、これは正常に機能しますが、Cookieをブラウザーセッションで(たとえば、ブラウザーが閉じたときに)期限切れにしたいと考えています。 私がセッションなしでSpring Securityを使用したい最初のものではないと想像する必要があります...何か提案はありますか?

11
@ExceptionHandlerで春のセキュリティ認証例外を処理する
私は春のMVCのを使用しています@ControllerAdviceし、@ExceptionHandlerREST APIをすべての例外を処理します。これは、Web MVCコントローラーによってスローされた例外に対しては正常に機能しますが、コントローラーメソッドが呼び出される前に実行されるため、Spring Securityカスタムフィルターによってスローされた例外に対しては機能しません。 トークンベースの認証を行うカスタムSpring Securityフィルターがあります。 public class AegisAuthenticationFilter extends GenericFilterBean { ... public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { try { ... } catch(AuthenticationException authenticationException) { SecurityContextHolder.clearContext(); authenticationEntryPoint.commence(request, response, authenticationException); } } } このカスタムエントリポイントの場合: @Component("restAuthenticationEntryPoint") public class RestAuthenticationEntryPoint implements AuthenticationEntryPoint{ public void commence(HttpServletRequest request, …

6
Spring Securityのログを有効にするにはどうすればよいですか?
ログインユーザーを処理するようにSpringSecurityを設定しています。ユーザーとしてログインし、ログインに成功するとアクセス拒否エラーページが表示されます。Spring Securityライブラリのデバッグを有効にする方法がわからないため、ユーザーに実際に割り当てられている役割や、アクセスを拒否するルールがわかりません。 私のセキュリティxml: <?xml version="1.0" encoding="UTF-8"?> <beans ... > <!-- security --> <security:debug/><!-- doesn't seem to be working --> <security:http auto-config="true"> <security:intercept-url pattern="/Admin**" access="hasRole('PROGRAMMER') or hasRole('ADMIN')"/> <security:form-login login-page="/Load.do" default-target-url="/Admin.do?m=loadAdminMain" authentication-failure-url="/Load.do?error=true" username-parameter="j_username" password-parameter="j_password" login-processing-url="/j_spring_security_check"/> <security:csrf/><!-- enable Cross Site Request Forgery protection --> </security:http> <security:authentication-manager> <security:authentication-provider> <security:jdbc-user-service data-source-ref="loginDataSource" users-by-username-query="SELECT username, password, active …

3
Spring Security式言語アノテーションで使用するカスタムメソッドを作成する方法
アノテーションを介したメソッドベースの承認のために、Spring Security Expression Languageで使用するカスタムメソッドを追加するクラスを作成したいと思います。 たとえば、「customMethodReturningBoolean」のようなカスタムメソッドを作成して、次のように使用します。 @PreAuthorize("customMethodReturningBoolean()") public void myMethodToSecure() { // whatever } 私の質問はこれです。可能であれば、カスタムクラスを作成するためにどのクラスをサブクラス化する必要がありますか、Spring xml構成ファイルでそれを構成するにはどうすればよいですか?

11
リクエストパラメータ「_csrf」またはヘッダー「X-CSRF-TOKEN」で無効なCSRFトークン「null」が見つかりました
Spring Security 3.2を構成した後_csrf.tokenは、リクエストまたはセッションオブジェクトにバインドされません。 これは春のセキュリティ設定です: <http pattern="/login.jsp" security="none"/> <http> <intercept-url pattern="/**" access="ROLE_USER"/> <form-login login-page="/login.jsp" authentication-failure-url="/login.jsp?error=1" default-target-url="/index.jsp"/> <logout/> <csrf /> </http> <authentication-manager> <authentication-provider> <user-service> <user name="test" password="test" authorities="ROLE_USER/> </user-service> </authentication-provider> </authentication-manager> login.jspファイル <form name="f" action="${contextPath}/j_spring_security_check" method="post" > <input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}" /> <button id="ingresarButton" name="submit" type="submit" class="right" style="margin-right: 10px;">Ingresar</button> <span> <label for="usuario">Usuario …

6
Spring Securityで「X-Frame-Options」応答ヘッダーを無効にする方法は?
jspにCKeditorがあり、何かをアップロードするたびに、次のエラーが表示されます。 Refused to display 'http://localhost:8080/xxx/xxx/upload-image?CKEditor=text&CKEditorFuncNum=1&langCode=ru' in a frame because it set 'X-Frame-Options' to 'DENY'. Spring Securityを削除してみましたが、すべてが魅力のように機能します。Spring Security xmlファイルでこれを無効にするにはどうすればよいですか?<http>タグの間に何を書くべきですか

8
SpringでSessionオブジェクトを取得するにはどうすればよいですか?
私はSpringとSpringのセキュリティに比較的慣れていません。 Springセキュリティを使用してサーバー側でユーザーを認証する必要があるプログラムを作成しようとしていました。 私は次のことを思いついた: public class CustomAuthenticationProvider extends AbstractUserDetailsAuthenticationProvider{ @Override protected void additionalAuthenticationChecks(UserDetails userDetails, UsernamePasswordAuthenticationToken usernamePasswordAuthenticationToken) throws AuthenticationException { System.out.println("Method invoked : additionalAuthenticationChecks isAuthenticated ? :"+usernamePasswordAuthenticationToken.isAuthenticated()); } @Override protected UserDetails retrieveUser(String username,UsernamePasswordAuthenticationToken authentication) throws AuthenticationException { System.out.println("Method invoked : retrieveUser"); //so far so good, i can authenticate user here, and throw …

7
Spring 5.0.3 RequestRejectedException:URLが正規化されていないため、リクエストが拒否されました
これがSpring5.0.3のバグなのか、それとも私の側で問題を修正するための新機能なのかわからない。 アップグレード後、このエラーが発生します。興味深いことに、このエラーは私のローカルマシンでのみ発生します。HTTPSプロトコルを使用したテスト環境での同じコードは正常に機能します。 続く... このエラーが発生する理由は、結果のJSPページをロードするためのURLがであるためです/location/thisPage.jsp。コードrequest.getRequestURI()を評価すると結果が得られます/WEB-INF/somelocation//location/thisPage.jsp。JSPページのURLをこれに固定すれば問題location/thisPage.jspなく動作します。 だから私の質問は、コードのパス/から削除するJSP必要があるということです。それが今後必要になるからです。それともSpring私のマシンとテスト環境の間の唯一の違いは、プロトコルであるとしてバグを導入しているHTTP対HTTPS。 org.springframework.security.web.firewall.RequestRejectedException: The request was rejected because the URL was not normalized. at org.springframework.security.web.firewall.StrictHttpFirewall.getFirewalledRequest(StrictHttpFirewall.java:123) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:194) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:186) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:357) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:270)

7
特定のURLのスプリングセキュリティを無効にする方法
ステートレススプリングセキュリティを使用していますが、サインアップの場合、スプリングセキュリティを無効にしたいです。 antMatchers("/api/v1/signup").permitAll(). しかし、それは機能していません、私は以下のエラーが発生しています: message=An Authentication object was not found in the SecurityContext, type=org.springframework.security.authentication.AuthenticationCredentialsNotFoundException これは、スプリングセキュリティフィルターが機能していることを意味すると思います 私のURLの順序は常に「/ api / v1」になります 私の春の設定は @Override protected void configure(HttpSecurity http) throws Exception { http. csrf().disable(). sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS). and(). authorizeRequests(). antMatchers("/api/v1/signup").permitAll(). anyRequest().authenticated(). and(). anonymous().disable(); http.addFilterBefore(new AuthenticationFilter(authenticationManager()), BasicAuthenticationFilter.class); } 私の認証フィルターは @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) …

14
Spring Boot:PasswordEncoderを指定する方法は?
現在、メインクラスを取得しています。 package com.recweb.springboot; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication /*@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class})*/ public class SpringbootApplication { public static void main(String[] args) { SpringApplication.run(SpringbootApplication.class, args); } } メンバークラス(id、名..)、MemberControllerクラス: package com.recweb.springboot; import java.util.Arrays; import java.util.List; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class MemberController { @GetMapping("/members") public List<Member> getAllUsers() { return Arrays.asList(new Member(1, "amit")); } } …

6
人間のためのJAAS
JAASを理解するのに苦労しています。それはすべて、本来あるべきよりも複雑に思えます(特にSunのチュートリアル)。Struts + Spring + Hibernateとカスタムユーザーリポジトリに基づくJavaアプリケーションでセキュリティ(認証+承認)を実装する方法についての簡単なチュートリアルまたは例が必要です。ACEGIを使用して実装できます。

2
カスタムフィルターでJava構成を使用してAuthenticationManagerを挿入する方法
Spring Security3.2とSpring4.0.1を使用しています 私はxml構成をJava構成に変換することに取り組んでいます。フィルタで注釈を付けるAuthenticationManagerと@Autowired、例外が発生します Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.security.authentication.AuthenticationManager] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {} 注入を試みましたAuthenticationManagerFactoryBeanが、同様の例外で失敗します。 これが私が作業しているXML構成です <?xml version="1.0" encoding="UTF-8"?> <beans ...> <security:authentication-manager id="authenticationManager"> <security:authentication-provider user-service-ref="userDao"> <security:password-encoder ref="passwordEncoder"/> </security:authentication-provider> </security:authentication-manager> <security:http realm="Protected API" use-expressions="true" …

4
SpringBootとSpringSecurityでRESTAPIを保護する方法は?
REST APIの保護が広くコメントされているトピックであることは知っていますが、自分の基準を満たす小さなプロトタイプを作成できません(そして、これらの基準が現実的であることを確認する必要があります)。リソースを保護する方法やSpringセキュリティをどのように使用するかについては、非常に多くのオプションがあります。自分のニーズが現​​実的かどうかを明確にする必要があります。 私の要件 トークンベースのオーセンティケーター-ユーザーはその資格情報を提供し、一意で時間制限のあるアクセストークンを取得します。トークンの作成、有効性の確認、有効期限を自分の実装で管理したいと思います。 一部のRESTリソースは公開されます-認証する必要はまったくありません、 一部のリソースには、管理者権限を持つユーザーのみがアクセスできます。 他のリソースは、すべてのユーザーの承認後にアクセスできるようになります。 基本認証を使いたくない Javaコード構成(XMLではない) 現在の状態 私のRESTAPIは非常にうまく機能しますが、今度はそれを保護する必要があります。解決策を探していたときに、javax.servlet.Filterフィルターを作成しました。 @Override public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; String accessToken = request.getHeader(AUTHORIZATION_TOKEN); Account account = accountDao.find(accessToken); if (account == null) { throw new UnauthorizedException(); } chain.doFilter(req, res); } しかし、Springjavax.servlet.filtersを介した例外処理に問題があるため、このソリューションは必要に応じて機能しません。@ControllerAdviceservlet …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.