着陸制御を実現するために、バックエンドデータベースから春のセキュリティクエリ

春のセキュリティフレームワークは、着陸制御のためのフレームワークである、ユーザー名とパスワードバックエンドの設定ファイルを取得し、着陸の判断を比較

手順を使用します

  1、輸入に依存

<! -身份验证- > 
            <依存> 
                <groupIdを> org.springframework.security </ groupIdを> 
                <たartifactId>春・セキュリティ・ウェブ</たartifactId> 
                <バージョン> 4.1.0.RELEASE </バージョン> 
            </依存関係> 
            <依存> 
                <groupIdを> org.springframework.security </ groupIdを> 
                <たartifactId>春・セキュリティ設定</たartifactId> 
                <バージョン> 4.1.0.RELEASE </バージョン> 
            </依存関係>

  2、web.xmlファイルは、ばねのsecurity.xmlファイルをロード

<コンテキストPARAM> 
      の<param-name>のcontextConfigLocation </ PARAM名> 
      の<param-value>のクラスパス:春/ ばねのsecurity.xml </ PARAM値> 
      </コンテキスト-param>の
    <リスナー> 
      <listener- クラス > 
        org.springframework.web.context.ContextLoaderListener
       </ listener- クラス > 
    </リスナー> 

    <フィルタ> 
      <フィルタ名> springSecurityFilterChain </フィルタ名> 
      <フィルタ- クラス > org.springframework.web.filter.DelegatingFilterProxy < /フィルタ- クラス > 
    </フィルタ> 
      <filter-mapping> 
        <フィルタ名> springSecurityFilterChain </フィルタ名> 
        の<url-pattern> / * </のurl-pattern> 
      </のfilter-mapping>

  3、フロントページ

   

  図4は、エンティティ・クラス・コードを作成するための背景を実現UserDetailsS​​erviceの方法を実施する、請求項インタフェースを

// 認証されたユーザがログインクラス
のパブリックの クラス UserDetailsS​​erviceImpl   実装UserDetailsS​​ervice { 
  //取得・サービス層は、バックエンドデータベースとユーザー名情報である
    プライベートSellerService sellerService;
     // SET注入する方法
    公共 のボイドsetSellerService(SellerService sellerServiceを){
         この .sellerService = sellerService。
    } 
    // 取得したユーザー名は、データベース内のオブジェクト、
    @Override
     公共 UserDetails loadUserByUsername(文字列名)がスローUsernameNotFoundException { 
        するSystem.out.printlnを( "IMP方法経過" );
 //        ユーザ名は、フォームの前を取得するためのユーザー名です
         // 着陸権を持つユーザー、 
        リスト<GrantedAuthority> =グラント新しい新しいのArrayList <> ();
         // 使用することができ、ユーザーの役割を追加 
        grant.add(新新 SimpleGrantedAuthority(「ROLE_SELLER」を));
         // ユーザ名が定義されている制御フレームワーク、実際には、seller_idエンティティクラス 
        出品者の出品者= sellerService.findOne(ユーザー名);
 //         Ruoguoこのユーザーは存在しません
        IF!(売主= ヌル && "1" .equals(売り手.getStatus())){
             // ログインするために、事業の承認は、ユーザーは、ユーザー名、パスワード、役割、入力返された場合にのみ、
                返す 新しい新しいユーザー(ユーザー名、seller.getPasswordを()、グラント)。
        } {
             戻り ヌル
        } 
    }

  5、春-security.x <?のXmlバージョン= "1.0"エンコード= "UTF-8"?>
  ルールは内部、私がブログで詳しく説明する必要があり、我々は背中を見ることができます

< 豆:豆
    のxmlns = "http://www.springframework.org/schema/security" 
    のxmlns:豆= "http://www.springframework.org/schema/beans"  
    のxmlns:XSI = "のhttp:// WWW .w3.org / 2001 / XMLスキーマ・インスタンス"  のxmlns:ダボ= "http://code.alibabatech.com/schema/dubbo"  
     のxsi:schemaLocationの=" http://www.springframework.org/schema/beansのhttp: //www.springframework.org/schema/beans/spring-beans.xsd  http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd  のhttp:/ /www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security.xsd ">  <! -以下页面不被拦截- >  <HTTPパターン= "/ *。htmlの" セキュリティ= "なし"> </ HTTP> <HTTPパターン= "/ CSS / **" セキュリティ= "なし"> </ HTTP> <HTTPパターン= "/ IMG / **"セキュリティ= "なし"> </ HTTP>  <HTTPパターン= "/ JS / **」セキュリティ= "なし"> </ HTTP>  <HTTPパターン= "/プラグイン/ **"セキュリティ= "なし"> </ HTTP>  <! - <HTTPパターン= "/販売者/ add.do"セキュリティ= "なし"> </ HTTP> - >  <! -页面拦截规则- >  <HTTPを使用-表現= "偽">  <インターセプト-URLパターン= "/ **"アクセス= "ROLE_SELLER" / >  <フォームのログインログイン・ページ= "/ shoplogin.html"デフォルト・ターゲット-URL = "/管理/ index.htmlを"認証失敗-URL = "/ shoplogin。htmlの"常時使用デフォルト・ターゲット= "真"/>  <CSRF無効= "真"/>  <ヘッダ>  <フレーム・オプション・ポリシー=" SAMEORIGIN「/> //角色信息 </ヘッダ> <ログアウト/>  </ HTTP> <! -认证管理器- >  <認証マネージャ>  <認証プロバイダのユーザー・サービス-REF = "userDetailService">  </認証プロバイダ>  </認証マネージャ>  <! -应用ダボ- >  <ダボ:アプリケーション名= "youlexuanショップ" />  <ダボ:レジストリアドレス= "飼育係://192.168.200.128:2181" />  <ダボ:参照ID = "sellerService"インターフェイス= "com.ghh.core。 service.SellerService」>  </ダボ:参照>
 
<! - カスタム設定クラス - >
  <豆:豆ID = "userDetailService"クラス= "com.ghh.shop.service.UserDetailsS​​erviceImpl"> 
    <豆:プロパティ名= "sellerService" REF = "sellerService" /> // refの引用ダボ中的sellerService
  </豆:豆>
</豆:豆>

 カスタムクラスにカスタム構成ポイントUserDetailsS​​erviceImplのクラス、背景が決意のヌルのために、ユーザー名、パスワード、ロール情報を返します

おすすめ

転載: www.cnblogs.com/guanyuehao0107/p/11863791.html