国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當前位置: 首頁 > news >正文

建站之星怎么用國外網(wǎng)站搭建

建站之星怎么用,國外網(wǎng)站搭建,游戲公司怎么注冊,云南推廣由于網(wǎng)上博客大部分都只有登陸沒有退出&#xff0c;自己花了一些時間研究了一下&#xff0c;這里將相關內(nèi)容進行記錄&#xff0c;基于Keyclaok 20的版本&#xff0c;實現(xiàn)springboot服務單點登錄與退出 一、依賴 <!-- 在父工程中 --> <dependencyManagement><d…

由于網(wǎng)上博客大部分都只有登陸沒有退出,自己花了一些時間研究了一下,這里將相關內(nèi)容進行記錄,基于Keyclaok 20的版本,實現(xiàn)springboot服務單點登錄與退出

一、依賴

<!-- 在父工程中 -->
<dependencyManagement><dependencies><!-- 導入依賴 --><dependency><groupId>org.keycloak.bom</groupId><artifactId>keycloak-adapter-bom</artifactId><version>22.0.1</version><type>pom</type><scope>import</scope></dependency></dependencies>
</dependencyManagement><!-- 在子工程中 -->
<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId></dependency><dependency><groupId>org.keycloak</groupId><artifactId>keycloak-spring-boot-starter</artifactId></dependency><dependency><groupId>org.keycloak</groupId><artifactId>keycloak-spring-security-adapter</artifactId></dependency>
</dependencies>

二、keycloak配置

這個是主要的,用設置攔截器實現(xiàn)登陸與退出

package com.example.basic.conf;import org.keycloak.KeycloakPrincipal;
import org.keycloak.KeycloakSecurityContext;
import org.keycloak.adapters.springboot.KeycloakSpringBootConfigResolver;
import org.keycloak.adapters.springsecurity.KeycloakConfiguration;
import org.keycloak.adapters.springsecurity.account.SimpleKeycloakAccount;
import org.keycloak.adapters.springsecurity.authentication.KeycloakAuthenticationProvider;
import org.keycloak.adapters.springsecurity.config.KeycloakWebSecurityConfigurerAdapter;
import org.keycloak.adapters.springsecurity.token.KeycloakAuthenticationToken;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.core.Authentication;
import org.springframework.security.core.authority.mapping.SimpleAuthorityMapper;
import org.springframework.security.core.session.SessionRegistryImpl;
import org.springframework.security.web.authentication.logout.LogoutSuccessHandler;
import org.springframework.security.web.authentication.session.RegisterSessionAuthenticationStrategy;
import org.springframework.security.web.authentication.session.SessionAuthenticationStrategy;
import org.springframework.security.web.util.matcher.AntPathRequestMatcher;import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;@KeycloakConfiguration
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class KeycloakSecurityConfiguration extends KeycloakWebSecurityConfigurerAdapter {@Autowiredpublic void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {KeycloakAuthenticationProvider keycloakAuthenticationProvider = keycloakAuthenticationProvider();keycloakAuthenticationProvider.setGrantedAuthoritiesMapper(new SimpleAuthorityMapper());auth.authenticationProvider(keycloakAuthenticationProvider);}@Bean@Overrideprotected SessionAuthenticationStrategy sessionAuthenticationStrategy() {return new RegisterSessionAuthenticationStrategy(new SessionRegistryImpl());}@Beanpublic org.keycloak.adapters.KeycloakConfigResolver KeycloakConfigResolver() {return new KeycloakSpringBootConfigResolver();}@Overrideprotected void configure(HttpSecurity http) throws Exception {super.configure(http);http.logout()//攔截logout請求.logoutRequestMatcher(new AntPathRequestMatcher("/logout")).addLogoutHandler(keycloakLogoutHandler()).logoutSuccessHandler(logoutSuccessHandler()).deleteCookies("JSESSIONID").and()//設置哪些可以忽略掉授權.authorizeRequests().antMatchers("/user/login", "/token/generate","/access/**", "/js/**","/css/**","/fonts/**", "/index.html", "/error").permitAll()//除了上面忽略掉授權請求,剩下所有必須經(jīng)過授權才可以訪問.antMatchers("/**").authenticated().and().cors().and().csrf().disable();}//處理logout自動跳轉請求private LogoutSuccessHandler logoutSuccessHandler() {return new LogoutSuccessHandler() {@Overridepublic void onLogoutSuccess(HttpServletRequest httpServletRequest,HttpServletResponse httpServletResponse, Authentication authentication)throws IOException, ServletException {KeycloakAuthenticationToken keycloakAuthenticationToken = (KeycloakAuthenticationToken)authentication;KeycloakSecurityContext keycloakSecurityContext =keycloakAuthenticationToken.getAccount().getKeycloakSecurityContext();String idTokenHint = keycloakSecurityContext.getIdTokenString();String issuer = keycloakSecurityContext.getIdToken().getIssuer();String keycloakBaseUrl = issuer + "/protocol/openid-connect/logout";String postLogoutRedirectUri = httpServletRequest.getScheme() + "://" + httpServletRequest.getHeader("host");String logoutUrl = keycloakBaseUrl + "?post_logout_redirect_uri=" + postLogoutRedirectUri + "&id_token_hint=" + idTokenHint;// Do logout by redirecting to Keycloak logouthttpServletResponse.sendRedirect(logoutUrl);}};}
}

http://aloenet.com.cn/news/33429.html

相關文章:

  • 網(wǎng)站 css江門百度seo公司
  • 東莞市建設網(wǎng)站首頁百度怎樣發(fā)布作品
  • app開發(fā)及后期維護費用重慶企業(yè)站seo
  • 陜西省建設廳網(wǎng)站三類b證磁力蜘蛛
  • 怎么做網(wǎng)絡推廣營銷seo專員的工作內(nèi)容
  • 商務網(wǎng)站建設實訓報告網(wǎng)絡銷售面試問題有哪些
  • 男人互做網(wǎng)站關鍵詞排名靠前
  • 金華建設學校繼續(xù)教育網(wǎng)站廣東培訓seo
  • 企業(yè)模擬網(wǎng)站建設本地推廣平臺有哪些
  • 大型電子商務網(wǎng)站開發(fā)架構技能培訓學校
  • python開發(fā)手機網(wǎng)站開發(fā)湖南網(wǎng)站營銷推廣
  • 蘭州網(wǎng)站建設招聘b2b電子商務網(wǎng)站
  • 怎么做租房網(wǎng)站營銷失敗案例分析
  • 定制開發(fā)電商網(wǎng)站建設百度seo和sem的區(qū)別
  • 菏澤正耀網(wǎng)站建設公司怎么樣長沙網(wǎng)站優(yōu)化價格
  • 集團企業(yè)網(wǎng)站建設屬于seo網(wǎng)站優(yōu)化
  • 最早做視頻播放網(wǎng)站百度排名優(yōu)化軟件
  • 房屋結構自建設計 網(wǎng)站app開發(fā)網(wǎng)站
  • 免費空間asp網(wǎng)站seo基礎入門
  • 長沙房地產(chǎn)交易網(wǎng)seo搜索引擎優(yōu)化工具
  • 廣漢網(wǎng)站建設ghxhwl免費域名注冊服務網(wǎng)站
  • 重慶網(wǎng)站建站建設的費用seo最強
  • 做網(wǎng)站可以用別人的身份證嗎網(wǎng)站流量數(shù)據(jù)
  • 天津網(wǎng)站建設開發(fā)有哪些天津百度網(wǎng)站排名優(yōu)化
  • 伊朗最新消息紹興seo計費管理
  • 博客系統(tǒng)做網(wǎng)站搜索引擎seo關鍵詞優(yōu)化方法
  • 電子銷售網(wǎng)站模板免費下載百度點擊工具
  • 中國建筑人事部大全合肥正規(guī)的seo公司
  • 住建局領導班子成員分工百度首頁排名優(yōu)化價格
  • 可以做兼職的網(wǎng)站有哪些工作室石家莊網(wǎng)站建設方案推廣