Spring SecurityのHttpBaic登録検証モードを詳しく説明します。


一、HttpBaicモードの応用シーン
HttpBaic登録検証モードはSpring Securityの登録検証を実現する最も簡単な方法であり、最もシンプルな方法とも言える。登録検証の絶対安全を保障するのではなく、「君子不防小人」の登録検証を行うのが目的です。
子供のころ日記を書いていたように、小さな鍵をかけた日記帳を買っていますが、実はこの小さな錠は何のために使われていますか?本当に見たい人は釘一本でもこじ開けられます。ある日あなたの両親があなたの日記を盗み見たいと思って、取り出してみて鍵をかけます。それでいいですよ。面倒くさいです。
私はHttpBaicモードを使って登録検証を行った例を挙げます。ある会社で部門経理を担当していた間に、統計効率、知識を共有し、コードを生成し、レポートをエクスポートするためのHttpインターフェースを開発しました。純粋に仕事の中で効率を高めるために、同時に私はまたほんの少しの個人的な心があって、結局各部の間は競争があったので、私はこのインターフェースにHttpBaicの検証を加えました。社内の技術者は、せいぜい一時間か二時間ぐらいで、この検証を破ることができます。はっきり言って、このツールのデータはそんなに重要ではありません。鍵をかける目的は公開データにならないようにすることです。もし心ある人が破れたら、この中のデータを見たいですが、大丈夫です。これはHttpBaicモードの典型的な応用シーンである。
二、spring book t 2.Spring securityを整合する
spring boot 2は、xバージョンmaven方式でSpring security座標を導入します。

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-security</artifactId>
</dependency>
三、HttpBaic登録認証モード
使用するSpring Bootバージョンが1.Xバージョンで、依存するSecurity 4.Xバージョンであれば、いかなる設定も必要なく、プロジェクトアクセスを開始するとデフォルトのhttpbaic認証がポップアップされます。
私たちが今使っているのはspring boot 2.0バージョン(Security 5.Xバージョンに依存)で、HttpBaicはもはやデフォルトの検証モードではなく、spring security 5 xでデフォルトの検証モードはすでにフォームモードです。だから私たちはBaicモードを使いたいです。自分で調整してください。そしてsecurity.baic.enabeledはもう古いので、自分でコード化して実現する必要があります。

@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {
  
  @Override
  protected void configure(HttpSecurity http) throws Exception {
   http.httpBasic()//  httpbasic  
   .and()
   .authorizeRequests()
   .anyRequest()
   .authenticated();//               
  }
}
プロジェクトを起動して、プロジェクトのバックグラウンドでこのようなログが印刷されます。

Using generated security password: 0cc59a43-c2e7-4c21-a38c-0df8d1a6d624
私たちはブラウザでログイン検証ができます。デフォルトのユーザー名はuserです。

もちろん、私達もappication.ymlを通じて指定してユーザー名のパスワードを設定することができます。

spring:
  security:
   user:
    name: admin
    password: admin
四、HttpBaicモードの原理説明
  • まず、HttpBaicモードは、送信されたユーザ名パスワードをBase 64モードで暗号化することを要求する。ユーザー名が「admin」なら  ,パスワードは「admin」で、文字列「admin:admin」をBase 64符号化アルゴリズムで暗号化します。暗号化の結果は、YWtaW 46 YWRtaW 4=。
  • は次に、Http要求においてHeaderとしてAuthorzationを使用して、「Baic YWtaW 46 YWRtaW 4=」をHeaderの値として、サービス端末に送信する。注意ここではBaic+スペース+暗号化列を使います。
  • サーバは、このような要求を受信すると、BaicAuthentication Filterフィルタに到達し、「Authoriation」のHeader値を抽出し、ユーザのアイデンティティを検証するための同じアルゴリズムBase 64を用いて復号する。
  • 復号結果はログイン認証のユーザ名パスワードと一致し、マッチングが成功すればフィルタの後続のアクセスを継続することができる。
  • だから、HttpBaicモードは本当に簡単で簡単な検証モードです。Base 64の暗号化アルゴリズムは可逆的です。上の原理を知っています。分で解読します。私たちは完全にPostManツールを使って、Http要求を送って登録検証を行うことができます。

    締め括りをつける
    以上は小编が绍介したSpring Securityの中のHttpBaic登录検证モードです。皆さんに助けてほしいです。もし何か疑问があれば、メッセージをください。小编はすぐに返事します。ここでも私たちのサイトを応援してくれてありがとうございます。
    本文があなたのためになると思ったら、転載を歓迎します。出所を明記してください。ありがとうございます。