日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
SpringBootAdmin報警提醒和登錄驗證功能實現(xiàn)!

上一篇我們已經(jīng)說了 SBA 的搭建和使用了,點擊訪問:https://mp.weixin.qq.com/s/cciU2u-LXnQHIrHN9uhVYA然而上面的使用是無法滿足我們生產(chǎn)環(huán)境的要求的,生產(chǎn)環(huán)境至少還需要配置以下兩個功能:

成都創(chuàng)新互聯(lián)客戶idc服務中心,提供成都移動機房托管、成都服務器、成都主機托管、成都雙線服務器等業(yè)務的一站式服務。通過各地的服務中心,我們向成都用戶提供優(yōu)質(zhì)廉價的產(chǎn)品以及開放、透明、穩(wěn)定、高性價比的服務,資深網(wǎng)絡工程師在機房提供7*24小時標準級技術(shù)保障。

  • 被監(jiān)控的 Spring Boot 項目的報警功能,因為我們不能時刻盯著 SBA 監(jiān)控系統(tǒng),但當系統(tǒng)出現(xiàn)問題時,我們又需要第一時間知道,因此報警提醒功能是必不可少的。
  • 默認情況下 SBA 的使用是沒有權(quán)限驗證的,也就是所有人知道了地址都可以正常使用,這不滿足生產(chǎn)系統(tǒng)的安全要求,所以用戶授權(quán)功能也是必不可少的。

接下來我們來看以上功能的具體實現(xiàn)。

1.添加報警提醒功能

報警提醒功能是基于郵箱實現(xiàn)的,當然也可以使用其他的提醒功能,如釘釘或飛書機器人提醒也是可以的,但郵箱報警功能的實現(xiàn)成本最低,所以本文我們就來看郵箱的報警提醒功能的具體實現(xiàn)。

1.1 添加郵件支持框架

在 SBA 的依賴文件 pom.xml 中添加以下配置:


org.springframework.boot
spring-boot-starter-mail

1.2 配置收、發(fā)郵箱信息

在 SBA 的配置文件 application.properties 中添加以下收、發(fā)郵箱的配置:

# 配置發(fā)送郵箱
spring.boot.admin.notify.mail.from=xxx@qq.com
# 配置接收郵箱
spring.boot.admin.notify.mail.to=xxx@qq.com
# 配置郵箱 smtp 地址(qq 發(fā)送郵箱的固定 host 是 smtp.qq.com)
spring.mail.host=smtp.qq.com
# 配置郵箱授權(quán)碼(此處為授權(quán)碼,而非密碼,獲取授權(quán)碼本文下一步有說明)
spring.mail.password=xxxxxx
# 配置郵箱的賬戶名(這個是上面配置發(fā)送郵件的賬戶名)
spring.mail.username=xxx@qq.com

1.2.1 開啟 SMTP 服務

SMTP 是一種提供可靠且有效的電子郵件傳輸?shù)膮f(xié)議。發(fā)送的郵箱必要要開啟 SMTP 服務,否則就實現(xiàn)不了郵件的發(fā)送功能了。如果使用的是 QQ 郵箱參考以下配置,打開 QQ 郵箱,在郵箱的賬號設置中找到 IMAP/SMTP 服務并開啟它,如下圖所示:

1.2.2 生成授權(quán)碼

發(fā)送的郵箱要生成郵箱授權(quán)碼,以 QQ 郵箱為例,在郵箱的賬號設置中找到“生成授權(quán)碼”,點擊即可生成,如下圖所示:

1.3郵件報警測試

經(jīng)過以上配置之后,**無需添加任何代碼!!!無需添加任何代碼!!!無需添加任何代碼!!!**就可以實現(xiàn)項目狀態(tài)改變的郵件提醒功能了。我們來測試一下,關(guān)閉我本地被監(jiān)控的 Spring Boot 項目,郵箱會收到項目離線信息,如下圖所示:

當我把被監(jiān)控的 Spring Boot 項目啟動之后,郵箱會收到服務器啟動郵件,如下圖所示:

也就是說,當你配置好了收、發(fā)郵箱之后,Spring Boot Admin 會在被監(jiān)控的項目停機或啟動時,自動發(fā)送郵件到接收提醒的郵箱了。

1.4 注意事項報警功能注意事項有以下幾個:

發(fā)送郵件的郵箱必須開啟 SMTP 服務。

發(fā)送郵箱無需設置密碼,只需要為配置項“spring.mail.password”設置郵箱授權(quán)碼即可。

發(fā)送郵箱和接收郵箱可以是同一個郵箱地址。

SBA 郵箱報警提醒功能無需添加任何代碼,只需要添加相應的框架支持,然后再配置上正確的收、發(fā)郵箱即可。

1.5 配置多個報警通知郵箱

通常項目的報警功能,需要通知的是一群相關(guān)負責人,而不是一個人,比如可能會通知運維負責人、程序負責人,還有項目經(jīng)理等,而 SBA 多人提醒郵箱的配置也很容易,只需要在 SBA 的配置文件中添加多個收件郵箱即可,多個郵箱間使用英文逗號隔開,如下配置所示:

# 配置接收郵箱
spring.boot.admin.notify.mail.to=xxx@qq.com,yyy@qq.com

2.訪問權(quán)限設置

SBA 默認是沒有權(quán)限驗證的,而生產(chǎn)環(huán)境一定要配置權(quán)限驗證,我們這里通過添加 Spring Security 框架來實現(xiàn)權(quán)限攔截,具體實現(xiàn)如下。

2.1 添加 Security 框架支持

在 SBA 的依賴文件 pom.xml 中添加如下配置:


org.springframework.boot
spring-boot-starter-security

2.2 設置登錄賬戶

在 SBA 的配置文件 application.properties 中添加如下配置:

# 設置登錄用戶名、密碼和角色
spring.security.user.name=java666
spring.security.user.password=java666
spring.security.user.roles=SBA_ADMIN

2.3 權(quán)限資源設置接下來在 SBA 項目中,添加以下資源設置類,如下代碼所示(直接復制到項目中即可使用):

import de.codecentric.boot.admin.server.config.AdminServerProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.builders.WebSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler;
import org.springframework.security.web.csrf.CookieCsrfTokenRepository;

@EnableWebSecurity
@Configuration(proxyBeanMethods = false)
public class AdminSecurityConfig extends WebSecurityConfigurerAdapter {
private final String adminContextPath;

public AdminSecurityConfig(AdminServerProperties adminServerProperties) {
this.adminContextPath = adminServerProperties.getContextPath();
}

@Override
protected void configure(HttpSecurity http) throws Exception {
SavedRequestAwareAuthenticationSuccessHandler successHandler = new SavedRequestAwareAuthenticationSuccessHandler();
successHandler.setTargetUrlParameter("redirectTo");
successHandler.setDefaultTargetUrl(adminContextPath + "/");
http.authorizeRequests()
.antMatchers(adminContextPath + "/assets/**").permitAll()
.antMatchers(adminContextPath + "/login").permitAll()
.antMatchers(adminContextPath + "/instances/**").permitAll()
.anyRequest().authenticated()
.and()
.formLogin().loginPage(adminContextPath + "/login").successHandler(successHandler).and()
.logout().logoutUrl(adminContextPath + "/logout").and()
.httpBasic().and()
.csrf()
.csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse())
.ignoringAntMatchers(
adminContextPath + "/instances",
adminContextPath + "/actuator/**"
);
}

@Override
public void configure(WebSecurity web) {
web.ignoring().antMatchers("/actuator/**");
}
}

2.4 訪問 SBA

此時訪問 SBA 監(jiān)控系統(tǒng)就需要輸入用戶名和密碼才能正常使用了,如下圖所示:

我們輸入 2.2 步驟中設置的用戶名和密碼即可登錄,如下圖所示:

點擊注銷就退出 SBA 系統(tǒng)了。

總結(jié)

SBA 報警提醒功能只需要添加郵件發(fā)送框架,配置正確的收、發(fā)郵件,無需添加任何代碼就可以實現(xiàn)報警提醒功能了,而且報警提醒的郵箱可以配置多個。SBA 可通過添加 Spring Security 來實現(xiàn)用戶的權(quán)限效驗。


網(wǎng)頁名稱:SpringBootAdmin報警提醒和登錄驗證功能實現(xiàn)!
網(wǎng)站路徑:http://www.5511xx.com/article/cdjoeoj.html