第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

使用 Spring Boot 和 Wicket Authenticated過濾注冊

使用 Spring Boot 和 Wicket Authenticated過濾注冊

交互式愛情 2023-04-19 15:04:43
我目前正在玩 Apache Wicket 8 和 Spring Boot。我制作了一個(gè)簡單的網(wǎng)絡(luò)應(yīng)用程序,其中包含一些面板、面包屑數(shù)據(jù)提供程序等。該應(yīng)用程序運(yùn)行良好。在我的 Spring 配置類中,我設(shè)置了一個(gè) Filter Bean?,F(xiàn)在我想實(shí)現(xiàn)身份驗(yàn)證功能。因此,我從擴(kuò)展 Wickets WebApplication 類切換到 AuthenticatedWebApplication 類,并創(chuàng)建了一個(gè)自定義的 AuthenticatedWebSession。當(dāng)我現(xiàn)在啟動(dòng)應(yīng)用程序時(shí),我收到一個(gè)WicketRuntimeException告訴我使用Application.init()方法來配置我的應(yīng)用程序?qū)ο蟮南?。由于某種原因,無法再實(shí)例化我的 Filter Bean。我嘗試使用 aFilterRegistrationBean而不是Filter具有相同的效果。對于如何解決這個(gè)問題,有任何的建議嗎?這是我的配置類FilterRegistrationBean:@Configuration@Import({PersistenceConfig.class})public class SpringConfig {// Either using Filter or FilterRegistrationBean is not working anymore//  @Bean//  public Filter getWicketFilter() {//      WicketApplication webApplication = new WicketApplication();//          webApplication.setConfigurationType(RuntimeConfigurationType.DEVELOPMENT);//      WicketFilter filter = new WicketFilter(webApplication);//      filter.setFilterPath("/");//      return filter;////  }@Beanpublic FilterRegistrationBean<WicketFilter> wicketFilterRegistration(){    WicketApplication webApplication = new WicketApplication();        webApplication.setConfigurationType(RuntimeConfigurationType.DEVELOPMENT);        WicketFilter filter = new WicketFilter(webApplication);        filter.setFilterPath("/");        FilterRegistrationBean<WicketFilter> registration = new FilterRegistrationBean<>();        registration.setFilter(filter);            registration.addInitParameter(WicketFilter.APP_FACT_PARAM,SpringWebApplicationFactory.class.getName());        registration.setDispatcherTypes(DispatcherType.REQUEST, DispatcherType.FORWARD);    return registration;}}
查看完整描述

3 回答

?
慕標(biāo)琳琳

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超9個(gè)贊

您應(yīng)該在 FilterRegistrationBean 定義中執(zhí)行此操作,即:


@Bean

public FilterRegistrationBean<WicketFilter> wicketFilterRegistration(){

WicketApplication webApplication = new WicketApplication();

? ? webApplication.setConfigurationType(RuntimeConfigurationType.DEVELOPMENT);

webApplication.init();//HERE!

順便說一句:考慮使用最新的 8.x 版本,即 8.5.0


查看完整回答
反對 回復(fù) 2023-04-19
?
蝴蝶刀刀

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超8個(gè)贊

由于異常消息表明您需要在實(shí)例化后調(diào)用 application.init() 。



查看完整回答
反對 回復(fù) 2023-04-19
?
慕容708150

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超4個(gè)贊

不幸的是,您的解決方案沒有奏效。再次拋出同樣的錯(cuò)誤。但是我最終能夠確定問題所在。


問題出在我的 Wicket Application 類的構(gòu)造函數(shù)中。在這個(gè)構(gòu)造函數(shù)中,我調(diào)用了 super.init()。刪除此應(yīng)用程序后啟動(dòng)時(shí)沒有 Bean 實(shí)例化錯(cuò)誤。


public class WicketApplication extends AuthenticatedWebApplication {


//  This caused the problem with instatiating the FilterRegistrationBean    

//  public WicketApplication() {

//      super.init();

//  }


    @Override

    protected void init() {

        super.init();


        getComponentInstantiationListeners().add(new SpringComponentInjector(this));        

        mountPage("/admin", AdminPage.class);

        mountPage("/login", LoginPage.class);


    }



    @Override

    public Class<? extends Page> getHomePage() {

        return AdminPage.class;

    }



    @Override

    protected Class<? extends AbstractAuthenticatedWebSession> getWebSessionClass() {

        return AppAuthenticatedWebSession.class;

    }


    @Override

    protected Class<? extends WebPage> getSignInPageClass() {

        return LoginPage.class;

    }


    public static WicketApplication get() {

        return (WicketApplication) Application.get();

    }


}


查看完整回答
反對 回復(fù) 2023-04-19
  • 3 回答
  • 0 關(guān)注
  • 178 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號