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

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

使用spring security成功登錄后如何將對(duì)象添加到視圖中?

使用spring security成功登錄后如何將對(duì)象添加到視圖中?

成功登錄后,我嘗試重定向到需要實(shí)例化對(duì)象的頁(yè)面,如我的 HomeController 中所述:@RequestMapping(value={"/","/home"}, method=RequestMethod.GET)public ModelAndView home() {    ModelAndView view = new ModelAndView("home");    view.addObject("client", new Client());    return view;}問(wèn)題是我不知道如何使用 spring security 來(lái)執(zhí)行此操作,因?yàn)槲夷茏龅奈ㄒ辉O(shè)置是在成功登錄后設(shè)置頁(yè)面:.formLogin()    .loginPage("/login")    .defaultSuccessUrl("/home")    .permitAll()使用 spring security 成功登錄后如何將此對(duì)象添加到視圖中?
查看完整描述

1 回答

?
回首憶惘然

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

假設(shè)您有這樣的 WebSecurity 配置。你只需要添加一個(gè)successHandler


@Configuration

@EnableWebSecurity

public class SecSecurityConfig extends WebSecurityConfigurerAdapter {



? ? @Autowired

? ? private SimpleAuthenticationSuccessHandler successHandler;


? ? @Bean("authenticationManager")

? ? @Override

? ? public AuthenticationManager authenticationManagerBean() throws Exception {

? ? ? ? ? ? return super.authenticationManagerBean();

? ? }


? ? @Autowired

? ? public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {

? ? ? ? // @formatter:off

? ? ? ? auth.inMemoryAuthentication()

? ? ? ? ? ? .withUser("user1").password("{noop}user1Pass").roles("USER")

? ? ? ? ? ? .and()

? ? ? ? ? ? .withUser("admin1").password("{noop}admin1Pass").roles("ADMIN");

? ? ? ? // @formatter:on

? ? }



? ? @Override

? ? protected void configure(final HttpSecurity http) throws Exception {

? ? ? ? http.authorizeRequests()

? ? ? ? ? ? .antMatchers("/anonymous*").anonymous()

? ? ? ? ? ? .antMatchers("/login*").permitAll()

? ? ? ? ? ? .anyRequest().authenticated()


? ? ? ? ? ? .and()

? ? ? ? ? ? .formLogin()

? ? ? ? ? ? .loginPage("/login.html")

? ? ? ? ? ? .loginProcessingUrl("/login")

? ? ? ? ? ? .successHandler(successHandler)

? ? ? ? ? ? // ...? ? ? ??

? ? }

}

SimpleAuthenticationSuccessHandler 類


// Change onAuthenticationSuccess logic as per your requirement


@Component

public class SimpleAuthenticationSuccessHandler implements AuthenticationSuccessHandler {


? ? private RedirectStrategy redirectStrategy = new DefaultRedirectStrategy();


? ? @Override

? ? public void onAuthenticationSuccess(HttpServletRequest arg0, HttpServletResponse arg1, Authentication authentication)

? ? ? ? ? ? throws IOException, ServletException {



? ? ? ? redirectStrategy.sendRedirect(arg0, arg1, "/home");



? ? ? ? /*

? ? ? ? Collectionextends GrantedAuthority> authorities = authentication.getAuthorities();

? ? ? ? authorities.forEach(authority -> {

? ? ? ? ? ? if(authority.getAuthority().equals("ROLE_USER")) {

? ? ? ? ? ? ? ? try {

? ? ? ? ? ? ? ? ? ? redirectStrategy.sendRedirect(arg0, arg1, "/user");

? ? ? ? ? ? ? ? } catch (Exception e) {

? ? ? ? ? ? ? ? ? ? // TODO Auto-generated catch block

? ? ? ? ? ? ? ? ? ? e.printStackTrace();

? ? ? ? ? ? ? ? }

? ? ? ? ? ? } else if(authority.getAuthority().equals("ROLE_ADMIN")) {

? ? ? ? ? ? ? ? try {

? ? ? ? ? ? ? ? ? ? redirectStrategy.sendRedirect(arg0, arg1, "/admin");

? ? ? ? ? ? ? ? } catch (Exception e) {

? ? ? ? ? ? ? ? ? ? // TODO Auto-generated catch block

? ? ? ? ? ? ? ? ? ? e.printStackTrace();

? ? ? ? ? ? ? ? }

? ? ? ? ? ? } else {

? ? ? ? ? ? ? ? throw new IllegalStateException();

? ? ? ? ? ? }

? ? ? ? });


? ? ? ? */



? ? }


}

這會(huì)將您的調(diào)用重定向到"/home",控制器將進(jìn)一步負(fù)責(zé)加載您的對(duì)象。

查看完整回答
反對(duì) 回復(fù) 2023-08-16
  • 1 回答
  • 0 關(guān)注
  • 113 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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