亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在自定義過濾器中使用Java配置注入AuthenticationManager

如何在自定義過濾器中使用Java配置注入AuthenticationManager

慕后森 2019-10-16 14:48:49
我正在使用Spring Security 3.2和Spring 4.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"            auto-config="false"            create-session="stateless"            entry-point-ref="unauthorizedEntryPoint"            authentication-manager-ref="authenticationManager">        <security:access-denied-handler ref="accessDeniedHandler"/>        <security:custom-filter ref="tokenAuthenticationProcessingFilter" position="FORM_LOGIN_FILTER"/>        <security:custom-filter ref="tokenFilter" position="REMEMBER_ME_FILTER"/>        <security:intercept-url method="GET" pattern="/rest/news/**" access="hasRole('user')"/>        <security:intercept-url method="PUT" pattern="/rest/news/**" access="hasRole('admin')"/>        <security:intercept-url method="POST" pattern="/rest/news/**" access="hasRole('admin')"/>        <security:intercept-url method="DELETE" pattern="/rest/news/**" access="hasRole('admin')"/>    </security:http>
查看完整描述

2 回答

?
烙印99

TA貢獻1829條經驗 獲得超13個贊

覆蓋方法authenticationManagerBean中WebSecurityConfigurerAdapter暴露出的AuthenticationManager使用內建configure(AuthenticationManagerBuilder)作為一個Spring bean:


例如:


   @Bean(name = BeanIds.AUTHENTICATION_MANAGER)

   @Override

   public AuthenticationManager authenticationManagerBean() throws Exception {

       return super.authenticationManagerBean();

   }


查看完整回答
反對 回復 2019-10-16
?
holdtom

TA貢獻1805條經驗 獲得超10個贊

真正幫助我解決這個問題的是“名稱= BeanIds.AUTHENTICATION_MANAGER”。沒有它,它至少在我的環境中不起作用。

查看完整回答
反對 回復 2019-10-16
  • 2 回答
  • 0 關注
  • 2030 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號