日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當(dāng)前位置:首頁 > 科技  > 軟件

面試官:Spring Boot 中的監(jiān)視器是什么?不是監(jiān)聽器嘛

來源: 責(zé)編: 時間:2024-04-23 18:03:36 230觀看
導(dǎo)讀嗨,你好呀,我是哪吒。面試的時候,被問到 “Spring Boot 中的監(jiān)視器是什么?有哪些功能和作用?”我的第一反應(yīng)就是,不應(yīng)該是監(jiān)聽器和攔截器嗎?監(jiān)聽器是基于觀察者模式的實(shí)現(xiàn),其工作原理是通過注冊監(jiān)聽器來訂閱特定的事件,當(dāng)這些

6d328資訊網(wǎng)——每日最新資訊28at.com

嗨,你好呀,我是哪吒。6d328資訊網(wǎng)——每日最新資訊28at.com

面試的時候,被問到 “Spring Boot 中的監(jiān)視器是什么?有哪些功能和作用?”6d328資訊網(wǎng)——每日最新資訊28at.com

我的第一反應(yīng)就是,不應(yīng)該是監(jiān)聽器和攔截器嗎?6d328資訊網(wǎng)——每日最新資訊28at.com

監(jiān)聽器是基于觀察者模式的實(shí)現(xiàn),其工作原理是通過注冊監(jiān)聽器來訂閱特定的事件,當(dāng)這些事件發(fā)生時,Spring框架會通知所有注冊了對應(yīng)事件的監(jiān)聽器,然后監(jiān)聽器會執(zhí)行相應(yīng)的操作。6d328資訊網(wǎng)——每日最新資訊28at.com

比如初始化數(shù)據(jù)、讀取配置文件、記錄日志等。6d328資訊網(wǎng)——每日最新資訊28at.com

具體的操作步驟:6d328資訊網(wǎng)——每日最新資訊28at.com

  • 定義一個事件類,它需要繼承自ApplicationEvent;
  • 創(chuàng)建一個監(jiān)聽器類,實(shí)現(xiàn)ApplicationListener接口,并指定監(jiān)聽的事件類型;
  • 在監(jiān)聽器類中,可以重寫onApplicationEvent方法來定義當(dāng)事件發(fā)生時的具體行為;
  • 將監(jiān)聽器注冊到Spring上下文中,這可以通過實(shí)現(xiàn)CommandLineRunner接口或者使用@EventListener注解來完成。

面試官:我說的是監(jiān)視器。6d328資訊網(wǎng)——每日最新資訊28at.com

很多小伙伴開發(fā)多年,確實(shí)是沒注意過監(jiān)視器這個概念。6d328資訊網(wǎng)——每日最新資訊28at.com

Spring Boot中的監(jiān)視器是Actuator,我一般用來監(jiān)控響應(yīng)時間、CPU使用率、內(nèi)存使用情況。6d328資訊網(wǎng)——每日最新資訊28at.com

還可以通過分析日志信息,快速定位問題原因,還可以提供預(yù)警機(jī)制,以便在出現(xiàn)故障或異常時及時采取措施進(jìn)行修復(fù)。6d328資訊網(wǎng)——每日最新資訊28at.com

監(jiān)視器可以與自動化運(yùn)維工具集成,實(shí)現(xiàn)自動化部署、監(jiān)控、報警和恢復(fù)等功能,提高運(yùn)維效率。6d328資訊網(wǎng)——每日最新資訊28at.com

可以通過一些端點(diǎn)進(jìn)行監(jiān)控和管理,比如:6d328資訊網(wǎng)——每日最新資訊28at.com

  • 通過/actuator/health端點(diǎn)可以查看應(yīng)用的健康狀態(tài)信息。
  • 通過/actuator/info端點(diǎn)獲取應(yīng)用的基本信息。
  • 通過/actuator/metrics端點(diǎn)收集應(yīng)用運(yùn)行時的性能指標(biāo)。
  • 通過/actuator/httptrace端點(diǎn)追蹤HTTP請求的處理過程。
  • 記錄應(yīng)用的使用情況,如訪問次數(shù)等。
  • 查看和管理應(yīng)用中Spring Bean的狀態(tài)。
  • 允許通過/actuator/shutdown端點(diǎn)來平滑關(guān)閉應(yīng)用。

小結(jié)一下:6d328資訊網(wǎng)——每日最新資訊28at.com

監(jiān)聽器通常用于響應(yīng)應(yīng)用程序中的特定事件,當(dāng)某個事件發(fā)生時,監(jiān)聽器可以執(zhí)行預(yù)定義的動作。6d328資訊網(wǎng)——每日最新資訊28at.com

監(jiān)聽器用于響應(yīng)特定的應(yīng)用事件,如服務(wù)啟動、請求處理等,以及實(shí)現(xiàn)特定業(yè)務(wù)邏輯的處理。6d328資訊網(wǎng)——每日最新資訊28at.com

監(jiān)視器指的是能夠監(jiān)控和管理應(yīng)用程序狀態(tài)的組件或工具。在Spring Boot中,Actuator是一個內(nèi)置的監(jiān)控組件,它提供了多種端點(diǎn)來檢查應(yīng)用的健康狀況、性能指標(biāo)、日志信息等。6d328資訊網(wǎng)——每日最新資訊28at.com

監(jiān)視器用于監(jiān)控應(yīng)用程序的運(yùn)行狀態(tài),提供健康檢查、性能統(tǒng)計(jì)等信息,幫助維護(hù)和優(yōu)化應(yīng)用性能。6d328資訊網(wǎng)——每日最新資訊28at.com

再分享幾道,徹底掌握監(jiān)視器的常見問題。6d328資訊網(wǎng)——每日最新資訊28at.com

1.使用監(jiān)視器時的有哪些需要注意?

在開始使用監(jiān)視器之前,需要明確監(jiān)控的目標(biāo)和范圍。確定需要監(jiān)控的關(guān)鍵指標(biāo),如響應(yīng)時間、錯誤率、資源利用率等,并設(shè)定合理的閾值。6d328資訊網(wǎng)——每日最新資訊28at.com

根據(jù)監(jiān)控目標(biāo),配置合適的監(jiān)控策略。這可能包括監(jiān)控頻率、數(shù)據(jù)聚合方式、報警觸發(fā)條件等。確保監(jiān)控策略能夠有效地捕捉到潛在問題,并及時發(fā)出警報。6d328資訊網(wǎng)——每日最新資訊28at.com

監(jiān)視器本身也會占用一定的系統(tǒng)資源,并可能對應(yīng)用程序的性能產(chǎn)生一定影響。因此,在選擇和使用監(jiān)視器時,需要權(quán)衡其功能和性能開銷,確保不會對應(yīng)用程序造成過大的負(fù)擔(dān)。6d328資訊網(wǎng)——每日最新資訊28at.com

監(jiān)視器可能會收集到一些敏感信息,如用戶數(shù)據(jù)、系統(tǒng)配置等。因此,在使用監(jiān)視器時,需要確保敏感信息得到妥善保護(hù),避免泄露給未經(jīng)授權(quán)的人員。6d328資訊網(wǎng)——每日最新資訊28at.com

2.除了基本認(rèn)證,Spring Boot Actuator還支持哪些身份驗(yàn)證方式?

  • OAuth2:這是一種開放標(biāo)準(zhǔn),它允許應(yīng)用程序在獲得用戶授權(quán)后,訪問其數(shù)據(jù)而無需知道用戶的憑據(jù)。Actuator可以通過配置OAuth2客戶端和提供授權(quán)服務(wù)器的URL來集成OAuth2認(rèn)證。
  • LDAP(輕量級目錄訪問協(xié)議):如果你的應(yīng)用程序已經(jīng)使用了LDAP進(jìn)行用戶管理,Actuator可以配置為使用LDAP進(jìn)行身份驗(yàn)證,這樣用戶就可以使用他們在LDAP中的憑據(jù)來訪問Actuator端點(diǎn)。
  • JWT(JSON Web令牌):這是一種自包含的令牌,用于在各方之間安全地傳輸信息。Actuator可以配置為接受JWT作為有效的身份驗(yàn)證方法。
  • JMX(Java管理擴(kuò)展):雖然JMX主要用于內(nèi)部監(jiān)控和管理,但Actuator也提供了通過JMX端點(diǎn)訪問信息的機(jī)制。這通常在開發(fā)和測試環(huán)境中使用,因?yàn)樗枰苯舆B接到運(yùn)行中的應(yīng)用。
  • SSH(安全外殼協(xié)議):Actuator支持通過SSH進(jìn)行遠(yuǎn)程訪問和管理,這在需要安全的遠(yuǎn)程訪問時非常有用。

3.Spring Boot中如何使用Actuator?

在pom.xml文件中添加Actuator的依賴。6d328資訊網(wǎng)——每日最新資訊28at.com

<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-actuator</artifactId></dependency>

在application.properties或application.yml中配置Actuator的相關(guān)屬性,例如開啟所有的端點(diǎn):6d328資訊網(wǎng)——每日最新資訊28at.com

management:  endpoints:    web:      exposure:        include: "*"

使用瀏覽器或者命令行工具(如curl)訪問不同的端點(diǎn)。6d328資訊網(wǎng)——每日最新資訊28at.com

# 獲取應(yīng)用的健康狀態(tài)信息curl http://localhost:8080/actuator/health# 獲取應(yīng)用的基本信息curl http://localhost:8080/actuator/info# 獲取應(yīng)用的性能指標(biāo)curl http://localhost:8080/actuator/metrics# 追蹤HTTP請求的處理過程curl http://localhost:8080/actuator/httptrace# 關(guān)閉應(yīng)用curl -X POST http://localhost:8080/actuator/shutdown

4.如何在Spring Boot Actuator中使用自定義的用戶名和密碼進(jìn)行認(rèn)證?

創(chuàng)建一個安全配置類,繼承WebSecurityConfigurerAdapter,并重寫configure(AuthenticationManagerBuilder auth)方法。在該方法中,可以配置自定義的用戶名和密碼。6d328資訊網(wǎng)——每日最新資訊28at.com

@Configuration@EnableWebSecuritypublic class SecurityConfig extends WebSecurityConfigurerAdapter {    @Override    protected void configure(AuthenticationManagerBuilder auth) throws Exception {        auth.inMemoryAuthentication() // 使用內(nèi)存中的用戶信息進(jìn)行認(rèn)證                .withUser("myuser") // 自定義用戶名                .password("{noop}mypassword") // 自定義密碼(使用明文)                .roles("USER"); // 設(shè)置用戶角色    }}

在application.properties或application.yml中配置端點(diǎn)的安全路徑和訪問權(quán)限。6d328資訊網(wǎng)——每日最新資訊28at.com

management:  endpoints:    web:      base-path: /actuator # 設(shè)置Actuator端點(diǎn)的根路徑      exposure:        include: "*" # 暴露所有端點(diǎn)  security:    enabled: true # 啟用Actuator的安全認(rèn)證

啟動應(yīng)用后,訪問Actuator端點(diǎn)時,會提示輸入自定義的用戶名和密碼進(jìn)行身份驗(yàn)證。例如,訪問/actuator/health端點(diǎn)時,瀏覽器會彈出一個登錄窗口,要求輸入自定義的用戶名和密碼。6d328資訊網(wǎng)——每日最新資訊28at.com

5.如何在Spring Boot Actuator中限制特定端點(diǎn)的訪問權(quán)限?

在Spring Boot Actuator中,可以通過配置端點(diǎn)的訪問權(quán)限來限制特定端點(diǎn)的訪問。6d328資訊網(wǎng)——每日最新資訊28at.com

創(chuàng)建一個安全配置類,繼承WebSecurityConfigurerAdapter,并重寫configure(HttpSecurity http)方法。在該方法中,可以配置特定端點(diǎn)的訪問權(quán)限。6d328資訊網(wǎng)——每日最新資訊28at.com

@Configuration@EnableWebSecuritypublic class SecurityConfig extends WebSecurityConfigurerAdapter {    @Override    protected void configure(HttpSecurity http) throws Exception {        http            .authorizeRequests()                .antMatchers("/actuator/health").hasRole("ADMIN") // 僅允許具有ADMIN角色的用戶訪問/actuator/health端點(diǎn)                .and()            .httpBasic(); // 使用基本認(rèn)證方式    }}

在application.properties或application.yml中配置用戶名和密碼以及用戶的角色:6d328資訊網(wǎng)——每日最新資訊28at.com

spring:  security:    user:      name: admin # 用戶名      password: secret # 密碼      roles: ADMIN # 用戶角色

啟動應(yīng)用后,訪問Actuator端點(diǎn)時,會提示輸入用戶名和密碼進(jìn)行身份驗(yàn)證。例如,訪問/actuator/health端點(diǎn)時,瀏覽器會彈出一個登錄窗口,要求輸入用戶名和密碼。只有具有ADMIN角色的用戶才能成功訪問該端點(diǎn)。6d328資訊網(wǎng)——每日最新資訊28at.com

6.如何在Spring Boot Actuator中使用OAuth2進(jìn)行認(rèn)證?

添加spring-boot-starter-oauth2-client依賴到pom.xml文件中6d328資訊網(wǎng)——每日最新資訊28at.com

<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-oauth2-client</artifactId></dependency>

創(chuàng)建一個安全配置類,繼承WebSecurityConfigurerAdapter,并重寫configure(HttpSecurity http)方法。在該方法中,可以配置端點(diǎn)的訪問權(quán)限和OAuth2認(rèn)證。6d328資訊網(wǎng)——每日最新資訊28at.com

@Configuration@EnableWebSecuritypublic class SecurityConfig extends WebSecurityConfigurerAdapter {    @Override    protected void configure(HttpSecurity http) throws Exception {        http.authorizeRequests()                .antMatchers("/actuator/**").authenticated() // 需要認(rèn)證才能訪問Actuator端點(diǎn)                .and()            .oauth2Login(); // 使用OAuth2認(rèn)證方式    }}

在application.properties或application.yml中配置OAuth2相關(guān)的屬性,例如客戶端ID、客戶端密鑰和授權(quán)服務(wù)器的URL等。6d328資訊網(wǎng)——每日最新資訊28at.com

spring:  security:    oauth2:      client:        registration:          myprovider: # OAuth2提供商名稱            client-id: your-client-id # 客戶端ID            client-secret: your-client-secret # 客戶端密鑰            authorization-grant-type: authorization_code # 授權(quán)類型            redirect-uri: "{baseUrl}/login/oauth2/code/{registrationId}" # 回調(diào)URL            scope: openid,profile,email # 請求的權(quán)限范圍        provider:          myprovider: # OAuth2提供商名稱            authorization-uri: https://your-authorization-server.com/oauth/authorize # 授權(quán)服務(wù)器的授權(quán)URL            token-uri: https://your-authorization-server.com/oauth/token # 授權(quán)服務(wù)器的令牌URL            user-info-uri: https://your-authorization-server.com/userinfo # 用戶信息URL            jwk-set-uri: https://your-authorization-server.com/jwks # JSON Web Key Set URL

啟動應(yīng)用后,訪問Actuator端點(diǎn)時,會跳轉(zhuǎn)到OAuth2認(rèn)證服務(wù)器的授權(quán)頁面,要求輸入用戶名和密碼進(jìn)行身份驗(yàn)證。成功認(rèn)證后,會返回一個授權(quán)碼,然后應(yīng)用會使用該授權(quán)碼獲取訪問令牌,并進(jìn)行后續(xù)的認(rèn)證操作。6d328資訊網(wǎng)——每日最新資訊28at.com

7.如何在Spring Boot Actuator中使用JWT進(jìn)行認(rèn)證?代碼舉例說明

(1)導(dǎo)入依賴

首先,需要在項(xiàng)目的pom.xml文件中添加Spring Security和JWT相關(guān)的依賴。6d328資訊網(wǎng)——每日最新資訊28at.com

<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-security</artifactId></dependency><dependency>    <groupId>io.jsonwebtoken</groupId>    <artifactId>jjwt</artifactId>    <version>0.9.1</version></dependency>

(2)配置JWT工具類

創(chuàng)建一個JWT工具類,用于生成和解析JWT令牌。這個工具類應(yīng)該包含方法來生成令牌(通常在用戶登錄時),以及驗(yàn)證和解析令牌(在需要用戶身份信息的端點(diǎn))。6d328資訊網(wǎng)——每日最新資訊28at.com

public class JwtUtil {    private static final String SECRET_KEY = "yourSecretKey"; // 替換為你的密鑰    public static String generateToken(String subject) {        return Jwts.builder()                .setSubject(subject)                .setIssuedAt(new Date())                .signWith(SignatureAlgorithm.HS256, SECRET_KEY)                .compact();    }    public static Claims parseToken(String token) {        return Jwts.parser()                .setSigningKey(SECRET_KEY)                .parseClaimsJws(token)                .getBody();    }}

(3)創(chuàng)建攔截器

可以創(chuàng)建一個攔截器來處理帶有JWT的請求。攔截器會檢查每個請求的HTTP頭部是否包含JWT,如果存在,則解析JWT并驗(yàn)證其有效性。如果驗(yàn)證成功,請求將被允許繼續(xù);如果驗(yàn)證失敗,將返回未經(jīng)授權(quán)的響應(yīng)。6d328資訊網(wǎng)——每日最新資訊28at.com

public class JwtInterceptor implements HandlerInterceptor {    @Override    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {        String token = request.getHeader("Authorization");        if (token != null && !token.isEmpty()) {            try {                JwtUtil.parseToken(token); // 驗(yàn)證令牌                return true; // 令牌有效,允許請求繼續(xù)            } catch (Exception e) {                response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); // 令牌無效,返回未授權(quán)響應(yīng)                return false;            }        } else {            response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); // 缺少令牌,返回未授權(quán)響應(yīng)            return false;        }    }}

(4)安全存儲密鑰

確保JWT的密鑰安全存儲,并定期更換以防止?jié)撛诘陌踩L(fēng)險。密鑰的安全性對于維護(hù)整個認(rèn)證系統(tǒng)的安全至關(guān)重要。6d328資訊網(wǎng)——每日最新資訊28at.com

(5)使用Actuator端點(diǎn)

Spring Boot Actuator提供了多種監(jiān)控和管理生產(chǎn)環(huán)境的端點(diǎn)。在使用JWT進(jìn)行認(rèn)證時,可以通過配置Actuator的端點(diǎn)來限制訪問,只有持有有效JWT的用戶才能訪問這些端點(diǎn)。6d328資訊網(wǎng)——每日最新資訊28at.com

(6)測試驗(yàn)證

完成以上配置后,應(yīng)該進(jìn)行全面的測試,以確保JWT認(rèn)證機(jī)制按預(yù)期工作。這包括測試令牌的生成、驗(yàn)證過程,以及確保未授權(quán)的請求被正確拒絕。6d328資訊網(wǎng)——每日最新資訊28at.com

8.JWT是什么?有什么用?有哪些應(yīng)用場景?

JWT,全稱為JSON Web Token,就是我們經(jīng)常提到的token,它以JSON對象的形式安全地在各個實(shí)體間傳輸信息。這些信息是經(jīng)過數(shù)字簽名的,因此可以被驗(yàn)證和信任。6d328資訊網(wǎng)——每日最新資訊28at.com

JWT由三部分組成,它們用點(diǎn)(.)分隔,分別是:6d328資訊網(wǎng)——每日最新資訊28at.com

  • Header(頭部):包含兩部分信息,令牌的類型(即JWT)和所使用的簽名算法(如HMAC SHA256或RSA)。
  • Payload(負(fù)載):包含有關(guān)實(shí)體(通常是用戶)和其他數(shù)據(jù)的聲明。這部分也可以包含其他自定義信息。但請注意,JWT默認(rèn)不加密,任何人都可以解碼其內(nèi)容,因此不要將敏感信息放入負(fù)載中,除非它們是加密的。
  • Signature(簽名):是使用頭部中指定的算法和密鑰對頭部和負(fù)載進(jìn)行簽名的結(jié)果。這使得接收方可以驗(yàn)證信息的發(fā)送者以及信息的完整性。

JWT的主要用途包括:6d328資訊網(wǎng)——每日最新資訊28at.com

  • 授權(quán):用戶登錄后,系統(tǒng)會返回一個JWT,之后的每個請求都會攜帶這個令牌,以便用戶訪問允許的資源和服務(wù)。這種方式在實(shí)現(xiàn)單點(diǎn)登錄(SSO)時特別有用,因?yàn)镴WT可以輕松跨域使用,且相比傳統(tǒng)Cookie方式更加輕量級。
  • 防止數(shù)據(jù)篡改:JWT可以使用加密算法對數(shù)據(jù)進(jìn)行簽名,即使數(shù)據(jù)在傳輸過程中被截獲,由于缺乏發(fā)送方的私鑰,攻擊者很難同時篡改數(shù)據(jù)和簽名,從而保證了數(shù)據(jù)的完整性。
  • 鑒權(quán):JWT可以用于驗(yàn)證用戶是否有權(quán)訪問系統(tǒng)。與傳統(tǒng)的Session加Cookie的組合相比,JWT將用戶數(shù)據(jù)直接下發(fā)給客戶端,每次請求時客戶端會附帶JWT一并發(fā)送給服務(wù)器,這樣服務(wù)器就無需緩存用戶數(shù)據(jù),降低了服務(wù)器的開銷,并且提高了系統(tǒng)的可擴(kuò)展性。

9.在企業(yè)應(yīng)用集成中,JWT有哪些優(yōu)勢?

JWT可以在用戶初次登錄后發(fā)放,之后的每次請求都會攜帶這個令牌,無需再次進(jìn)行身份驗(yàn)證,這簡化了認(rèn)證流程。6d328資訊網(wǎng)——每日最新資訊28at.com

JWT自身包含了所有必要的身份驗(yàn)證信息,這意味著服務(wù)器不需要存儲會話信息,這增加了系統(tǒng)的可用性和伸縮性,減輕了服務(wù)端的負(fù)擔(dān)。6d328資訊網(wǎng)——每日最新資訊28at.com

JWT基于標(biāo)準(zhǔn)JSON格式,可以輕松在不同的平臺和框架之間傳遞和使用,這在微服務(wù)架構(gòu)和分布式系統(tǒng)中尤為重要。6d328資訊網(wǎng)——每日最新資訊28at.com

JWT通常使用HS256等加密算法進(jìn)行簽名,確保了令牌的完整性和真實(shí)性。6d328資訊網(wǎng)——每日最新資訊28at.com

10.如何在Spring Boot Actuator中使用SSH進(jìn)行認(rèn)證?代碼舉例說明

導(dǎo)入依賴。
<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency>    <groupId>com.hierynomus</groupId>    <artifactId>sshj</artifactId>    <version>0.31.0</version></dependency>

在application.properties或application.yml配置文件中,可以設(shè)置SSH的認(rèn)證信息。6d328資訊網(wǎng)——每日最新資訊28at.com

management:  endpoints:    web:      exposure:        include: '*' # 暴露所有端點(diǎn)  endpoint:    health:      show-details: always # 顯示健康檢查詳細(xì)信息  security:    enabled: true # 啟用安全認(rèn)證    roles: admin # 設(shè)置訪問權(quán)限為admin角色ssh:  username: your_username # SSH用戶名  password: your_password # SSH密碼  host: your_host # SSH主機(jī)名

在數(shù)據(jù)庫中創(chuàng)建一個具有管理員角色的用戶,用于訪問Actuator端點(diǎn)。這可以通過使用Spring Data JPA和Hibernate來實(shí)現(xiàn)。例如,可以創(chuàng)建一個名為User的實(shí)體類和一個名為UserRepository的接口:6d328資訊網(wǎng)——每日最新資訊28at.com

@Entitypublic class User {    @Id    @GeneratedValue(strategy = GenerationType.IDENTITY)    private Long id;    private String username;    private String password;    // 省略getter和setter方法}@Repositorypublic interface UserRepository extends JpaRepository<User, Long> {    Optional<User> findByUsername(String username);}

在Spring Security的配置類中,可以配置SSH的安全認(rèn)證。例如,可以創(chuàng)建一個名為SecurityConfig的配置類:6d328資訊網(wǎng)——每日最新資訊28at.com

@Configuration@EnableWebSecuritypublic class SecurityConfig extends WebSecurityConfigurerAdapter {    @Autowired    private UserRepository userRepository;    @Override    protected void configure(HttpSecurity http) throws Exception {        http.authorizeRequests()            .antMatchers("/actuator/**").hasRole("ADMIN") // 只允許ADMIN角色訪問Actuator端點(diǎn)            .and()            .formLogin().permitAll() // 允許所有用戶訪問登錄頁面            .and()            .logout().permitAll(); // 允許所有用戶訪問注銷頁面    }    @Autowired    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {        auth.userDetailsService(userDetailsService()).passwordEncoder(new BCryptPasswordEncoder());    }    @Bean    public UserDetailsService userDetailsService() {        return username -> userRepository.findByUsername(username)                .map(user -> User.withUsername(user.getUsername()).password(user.getPassword()).roles("ADMIN").build())                .orElseThrow(() -> new UsernameNotFoundException("User not found"));    }}

完成以上配置后,應(yīng)該進(jìn)行全面的測試,以確保SSH認(rèn)證機(jī)制按預(yù)期工作。這包括測試SSH連接、登錄和注銷功能等。6d328資訊網(wǎng)——每日最新資訊28at.com

11.SSH是什么?有什么用?有哪些應(yīng)用場景?

SSH最初設(shè)計(jì)用于替代不安全的Telnet和FTP,現(xiàn)在它廣泛應(yīng)用于安全地連接和管理遠(yuǎn)程系統(tǒng)。6d328資訊網(wǎng)——每日最新資訊28at.com

SSH的主要用途包括:6d328資訊網(wǎng)——每日最新資訊28at.com

  • 遠(yuǎn)程登錄和終端訪問:用戶可以通過SSH客戶端遠(yuǎn)程登錄到服務(wù)器或其他設(shè)備,并進(jìn)行命令行操作或圖形界面操作。
  • 文件傳輸:SFTP(SSH File Transfer Protocol)是基于SSH實(shí)現(xiàn)的安全文件傳輸協(xié)議,允許用戶在本地系統(tǒng)和遠(yuǎn)程服務(wù)器之間安全地傳輸文件。
  • 端口轉(zhuǎn)發(fā):SSH可以實(shí)現(xiàn)端口轉(zhuǎn)發(fā),從而在本地主機(jī)和遠(yuǎn)程主機(jī)之間建立安全的通信通道,用于訪問遠(yuǎn)程主機(jī)上的服務(wù)。
  • 遠(yuǎn)程執(zhí)行命令:SSH允許用戶在遠(yuǎn)程服務(wù)器上執(zhí)行命令,這對于自動化任務(wù)和遠(yuǎn)程管理非常有用。
  • 隧道:SSH可以創(chuàng)建安全的通信隧道,通過不受信任的網(wǎng)絡(luò)傳輸數(shù)據(jù)。

12.SSH和Telnet的區(qū)別是什么?

SSH和Telnet都是遠(yuǎn)程登錄協(xié)議,但它們在安全性、加密方式和端口號等方面存在顯著差異。6d328資訊網(wǎng)——每日最新資訊28at.com

  • SSH不僅是替代Telnet的遠(yuǎn)程控制臺管理應(yīng)用程序的行業(yè)標(biāo)準(zhǔn),還可以為ftp、pop等提供一個安全的通道。相比之下,Telnet的功能相對單一,主要提供在本地計(jì)算機(jī)上完成遠(yuǎn)程主機(jī)工作的能力。
  • SSH提供了加密傳輸,而Telnet則使用明文傳輸。
  • SSH通常使用端口22,而Telnet使用端口23
  • 由于Telnet傳輸?shù)臄?shù)據(jù)是明文的,因此默認(rèn)情況下防火墻是不信任Telnet的。而SSH由于其加密特性,通常能得到防火墻的信任。

本文鏈接:http://m.www897cc.com/showinfo-26-84908-0.html面試官:Spring Boot 中的監(jiān)視器是什么?不是監(jiān)聽器嘛

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 你真的知道嗎?Python中什么變量會返回false

下一篇: 快手二面:有了Cookie和Session 為什么還要JWT ?你說一下JWT的原理?

標(biāo)簽:
  • 熱門焦點(diǎn)
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
欧美成人日韩| 久久久久国色av免费看影院| 亚洲精品之草原avav久久| 亚洲免费高清| 性久久久久久久久久久久| 久久国产精品亚洲77777| 老司机精品视频网站| 欧美久久成人| 国产精品视频yy9299一区| 黄色精品免费| 艳妇臀荡乳欲伦亚洲一区| 性久久久久久久| 欧美大片国产精品| 国产精品黄视频| 一区二区在线视频| 在线视频一区二区| 久久精品夜色噜噜亚洲a∨| 欧美猛交免费看| 国产色爱av资源综合区| 亚洲精品日韩在线观看| 午夜精品网站| 欧美精品1区2区3区| 国产午夜精品福利| 亚洲日本视频| 久久爱91午夜羞羞| 欧美日韩国产精品专区| 国产亚洲第一区| 亚洲美女毛片| 久久精视频免费在线久久完整在线看| 欧美极品一区二区三区| 国产三级欧美三级日产三级99| 99亚洲一区二区| 久久婷婷国产综合尤物精品| 国产精品久久久久99| 亚洲激情在线播放| 欧美在线日韩精品| 欧美日韩综合精品| 亚洲大黄网站| 欧美日产在线观看| 狠狠色狠狠色综合日日tαg| 亚洲夜间福利| 欧美激情1区2区3区| 激情久久久久久久| 午夜久久福利| 欧美体内she精视频在线观看| 亚洲第一主播视频| 久久久999精品视频| 国产精品一区二区三区四区五区| 99视频有精品| 男人的天堂亚洲| 国产一区免费视频| 亚洲欧美日韩综合一区| 欧美三级午夜理伦三级中视频| 亚洲国产精品传媒在线观看 | 久久久久久午夜| 国产精品亚洲综合久久| 夜夜嗨av色综合久久久综合网 | 欧美大香线蕉线伊人久久国产精品| 国产欧美日韩综合| 亚洲欧美一区二区三区久久 | 欧美激情精品久久久久久大尺度| 国内精品免费在线观看| 欧美怡红院视频| 国产精品毛片一区二区三区| 99视频超级精品| 欧美国产欧美亚洲国产日韩mv天天看完整 | 亚洲国产精品一区二区第四页av| 欧美一区二区三区视频免费| 国产精品久久久久久久电影| 一二三四社区欧美黄| 欧美激情小视频| 亚洲第一综合天堂另类专| 久久久久网站| 国精品一区二区| 久久精品国产亚洲高清剧情介绍| 国产日韩欧美视频| 欧美在线1区| 国产欧美一区二区三区久久| 亚洲欧美三级伦理| 国产伦精品一区二区三区在线观看| 亚洲永久网站| 国产精品午夜av在线| 亚洲欧美成人精品| 国产酒店精品激情| 性感少妇一区| 国产一区在线观看视频| 久久久成人网| 亚洲第一成人在线| 欧美aaaaaaaa牛牛影院| 亚洲欧洲精品一区二区三区不卡| 欧美aⅴ99久久黑人专区| 亚洲人成77777在线观看网| 欧美精品成人| 这里是久久伊人| 国产精品免费看| 欧美在线不卡| 亚洲成色精品| 欧美精品一区在线播放| 亚洲视频在线观看免费| 国产精品乱码久久久久久| 欧美亚洲免费电影| 激情综合视频| 欧美激情精品久久久六区热门 | 亚洲人成网在线播放| 欧美人与禽性xxxxx杂性| 一区二区三区黄色| 国产精品视频网| 久久国产福利国产秒拍| 亚洲成色精品| 欧美体内谢she精2性欧美| 欧美一级专区| 在线日韩日本国产亚洲| 欧美日本不卡| 午夜日韩电影| 亚洲电影第三页| 欧美三级网址| 久久精品视频在线看| 亚洲国产成人精品久久| 欧美日韩网址| 久久成人18免费观看| 亚洲人成毛片在线播放| 国产精品久久久久免费a∨大胸| 久久精品日韩一区二区三区| 亚洲激情在线观看视频免费| 欧美午夜不卡视频| 久久精品成人| 亚洲欧洲综合| 国产日韩在线不卡| 欧美精品在线一区二区三区| 欧美一区二区观看视频| 亚洲国产日韩美| 国产精品久久久久久久久借妻| 久久久91精品国产| 99精品国产福利在线观看免费 | 亚洲精品九九| 国产九区一区在线| 欧美福利视频在线| 香蕉成人久久| 亚洲精品美女久久久久| 国产日韩欧美不卡| 欧美啪啪一区| 久久精品五月| 亚洲小视频在线观看| 在线日韩欧美视频| 国产精品一区二区三区成人| 欧美国产第一页| 久久久精品日韩欧美| 亚洲性色视频| 91久久中文| 国产性做久久久久久| 欧美日韩你懂的| 久久这里有精品15一区二区三区| 亚洲一区二区三区免费视频| 亚洲国产1区| 国产婷婷成人久久av免费高清 | 国产日韩在线看片| 欧美日韩国产天堂| 久久资源av| 欧美一区久久| 中文在线资源观看网站视频免费不卡| 在线观看av不卡| 国产日韩精品一区二区| 欧美视频观看一区| 欧美激情视频一区二区三区不卡| 久久久99免费视频| 欧美一区二区三区在线| 亚洲视频在线二区| 亚洲美女91| 亚洲国产专区校园欧美| 国产主播精品在线| 国产精品亚发布| 欧美视频在线观看免费| 欧美国产日韩精品免费观看| 久久久久久久综合色一本| 香蕉成人啪国产精品视频综合网| 一区二区国产日产| 亚洲人屁股眼子交8| 精品99一区二区| 国产一区自拍视频| 国产精品色一区二区三区| 欧美视频在线一区二区三区| 欧美精品首页| 欧美成人精品在线视频| 狼狼综合久久久久综合网| 久久激情一区| 香蕉久久夜色精品| 亚洲欧美国产视频| 亚洲视频免费在线观看| 一本色道久久综合| 99精品视频免费全部在线| 亚洲精品综合精品自拍| 亚洲人成网站在线观看播放| 亚洲黄色尤物视频| 亚洲国产另类精品专区| 亚洲第一视频网站| 亚洲福利一区| 亚洲高清二区| 亚洲成色www久久网站| 伊人久久av导航| 亚洲成色www8888| 亚洲激情电影在线| 亚洲精品少妇| 亚洲伦理在线| 99成人在线|