spring security 显示登录的用户名与退出登录
一、显示登录成功的用户名
1.编写LoginController.java 注意这里不是从数据库取的数据 ,用的是配置文件里配置的账号,而且要登录成功才能取到。
package com.pinyougou.manager.controller; import java.util.HashMap; import java.util.Map; import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/login") public class LoginController { @RequestMapping("/name") public Map name(){ //获取spring security 当前登录的用户名 String name = SecurityContextHolder.getContext().getAuthentication().getName(); Map map = new HashMap<>(); map.put("loginName", name); return map; } }
2.编写loginService.js
app.service('loginService',function($http){
this.loginName=function(){
return $http.get('../login/name.do');
}
});
注意,上面的app和$http来自base.js
base.js 需要在页面引入 <script src="../plugins/jQuery/jquery-2.2.3.min.js"></script>
var app=angular.module('pinyougou',[]);
3.indexController.js
app.controller('indexController',function($scope,loginService){
//显示当前用户名
$scope.showLoginName=function(){
loginService.loginName().success(
function(response){
$scope.loginName=response.loginName;
}
);
}
});
4.在index.html里面
引入
<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标签里引入
<body class="hold-transition skin-green sidebar-mini" ng-app="pinyougou" ng-controller="indexController" ng-init="showLoginName()">
最后在要显示用户名的地方写 {{loginName}}
二、退出登录
1.修改srping-security.xml
<http use-expressions="false"> <intercept-url pattern="/**" access="ROLE_ADMIN"/> <!--开启表单登录功能 <form-login/>自动生成一个登录表单--> <!--<form-login/>--> <!--自定义登录表单配置 login-page="/login.html" 登录表单 default-target-url="/index.html" 登录成功后跳转到的页面 authentication-failure-url="/login_err.html" 登录失败跳转的页面 login-processing-url="/login2" 自定义访问路径 默认为login username-parameter="username" username是默认的 前端<input name="username"> 也可以修改 always-use-default-target="true" 总是跳转到配置的页面 --> <form-login login-page="/login.html" default-target-url="/admin/index.html" authentication-failure-url="/login.html" always-use-default-target="true"/> <!--关闭csrf跨域请求校验--> <csrf disabled="true"/> <!-- 允许使用框架页 因为brand.html 里面有一个index.html框架页 --> <headers> <frame-options policy="SAMEORIGIN"/> </headers> <!-- 退出配置 会自动生成一个/logout地址提供退出 可以修改默认的退出url <logout logout-url="/mylogout"/> --> <logout/> </http>
2.修改index.html
<div class="pull-right"> <a href="../logout" class="btn btn-default btn-flat">注销</a> </div>
学习记录,网上找的,自己写的都记录下来。如有雷同并且侵犯到您的权益,请联系本人修改。
浙公网安备 33010602011771号