春・セキュリティセキュアログイン

1 )変更のpom.xmlを、依存関係を追加

 <! - 認証 - >

<依存>

<groupIdを> org.springframework.security </ groupIdを>

<たartifactId>春・セキュリティ・ウェブ</たartifactId>

</依存関係>

<依存>

<groupIdを> org.springframework.security </ groupIdを>

<たartifactId>春・セキュリティ設定</たartifactId>

</依存関係>

2 )変更のweb.xml

<コンテキスト-PARAM>

<param-name>のcontextConfigLocation </ PARAM名>

<PARAM値>クラスパス:春/ばねのsecurity.xml </ PARAM値>

 </コンテキスト-param>の

 <聞き手>

<リスナクラス>

org.springframework.web.context.ContextLoaderListener

</リスナクラス>

 </リスナー>

 <フィルタ>  

<フィルタ名> springSecurityFilterChain </フィルタ名> <フィルタクラス> org.springframework.web.filter.DelegatingFilterProxy </フィルタクラス>  

 </フィルタ>  

 <のfilter-mapping>  

<フィルタ名> springSecurityFilterChain </フィルタ名>  

<url-pattern> / * </のurl-pattern>  

 </フィルタマッピング>

 

3 スプリング追加プロファイルディレクトリばねのsecurity.xml

<! - 以下のページが傍受されることはありません - >

<HTTPパターン= "/login.html"  セキュリティ= "なし" > </ HTTP>

<HTTPパターン= "/ CSS / **"  セキュリティ= "なし" > </ HTTP>

<HTTPパターン= "/ IMG / **"  セキュリティ= "なし" > </ HTTP>

<HTTPパターン= "/ JS / **"  セキュリティ= "なし" > </ HTTP>

<HTTPパターン= "/プラグイン/ **"  セキュリティ= "なし" > </ HTTP>

 

<! - ページのルールをブロックします - >

<HTTPを使用-表現= "false"に >

<インターセプト-URLパターン= "/ *"  アクセス= "ROLE_ ADMIN "  />

<フォームのログインログイン・ページ= "/login.html"   デフォルト・ターゲット-URL = "/admin/index.html"  認証失敗-URL = "/login.html"  常に利用-デフォルト・ターゲット= 「真" />

<無効= CSRF "真" />

<ヘッダ>

<フレーム・オプション・ポリシー= "SAMEORIGIN" />

</ヘッダ>

</ HTTP>

 

<! - 認証マネージャ - >

<認証マネージャ>

<認証プロバイダ>

<ユーザーサービス>

<ユーザー名= "管理者"  パスワード= "123456"  当局= "ROLE_ ADMIN " />

<ユーザー名= "孫悟空"  パスワード= "dasheng"  当局= "ROLE_ ADMIN " />

</ユーザーサービス>

</認証プロバイダ>

</認証マネージャ>

 

2.2.2 ログインページ

変更 XXXX-ウェブlogin.htmlと

<フォームID = "loginform"  ACTION = "/ログイン"  METHOD = "POST"   クラス= "スイフォーム" >

<DIV CLASS = "入力プリペンド" > <スパンクラス= "アドオンログイン名" > </ span>を

<入力されたID = "prependedInput"   NAME = "ユーザ名"  タイプ= "テキスト"  プレースホルダ= "邮箱/用户名/手机号"  クラス= "SPAN2入力xfat" >

</ div>

<DIV CLASS = "入力プリペンド" > <スパンクラス= "アドオンloginpwd" > </ span>を

<入力ID = "prependedInput"   NAME = "パスワード"  タイプ= "パスワード"  プレースホルダ= "请输入密码"  クラス= "SPAN2入力xfat" >

</ div>

<DIV CLASS = "設定" >

<DIV ID = "スライダー" >

<DIV ID = "slider_bg" > </ div>

<スパンID = "ラベル" >>> </ span>の<スパンID = "labelTip" >ドラッグスライダが</スパン>を検証します

</ div>

</ div>

<のdivクラス= "logined" >

<a class= "sui-btn btn-block btn-xlarge btn-danger"  onclick="document:loginform.submit()" target= "_blank">登录する</a>

</ div>

</フォーム>

2.3.1 バックエンド・コード

youlexuanマネージャ-ウェブの新LoginController.java

パッケージ com.youlexuan.sellergoods.controller。

輸入  java.util.HashMapを;

輸入  java.util.Map;

輸入  org.springframework.security.core.context.SecurityContextHolder。

輸入  org.springframework.security.core.userdetails.UserDetails。

輸入  org.springframework.web.bind.annotation.RequestMapping。

輸入  org.springframework.web.bind.annotation.RestController;

@RestController

@RequestMapping( "/ログイン")

パブリック クラス  LoginController {

@RequestMapping( "名前")

公共の マップ  名(){

文字列名= SecurityContextHolder。getContext()

.getAuthentication()のgetName()。

マップ  マップ= 新しい HashMapの();

マップ(.put 「ログイン名」名前を

リターン  マップ。

}

}

2.3.2 フロントエンドコード

(1) loginService.js

//サービス層へのアクセス

app.service( 'loginService'、関数($ HTTP){

//人の名前に印を読みます

この .loginName = 関数(){

返す  $ http.get( '../ログイン/ name.do');

}

});

(2)新建indexController.js

app.controller('indexController' ,function($scope,$controller   ,loginService){

    //读取当前登录人  

$scope.showLoginName=function(){

loginService.loginName().success(

function(response){

$scope.loginName=response.loginName;

}

);

}    

});

index.html页面上引入JS

<script type="text/javascript" src="../plugins/angularjs/angular.min.js"></script>

<script type="text/javascript" src="../js/base.js"></script>

<script type="text/javascript" src="../js/service/loginService.js"></script>

<script type="text/javascript" src="../js/controller/indexController.js"></script>    

指令

<body class="hold-transition skin-green sidebar-mini"  ng-app="youlexuan" ng-controller="indexController" ng-init="showLoginName ()">

おすすめ

転載: www.cnblogs.com/wycBolg/p/11863206.html