用户名的显示与退出

用户名的显示

从后台Controller中获取用户名

从SecurityContextHolder中取出用户名(或密码),放到map集合中,返回map集合

SecurityContextHolder.getContext().getAuthentication().getName();

@Controller
@RequestMapping("/login")
public class LoginController {
    @RequestMapping("/showName")
    @ResponseBody
    public Map loginShowName(){
        String name = SecurityContextHolder.getContext().getAuthentication().getName();
        Map map = new HashMap();
        map.put("username",name);
        return map;
    }
}

前端代码

html中书写样式

base.js

// 定义模块:
var app = angular.module("pinyougou",[]);

indexController.js

app.controller("indexController",function($scope,loginService){
    $scope.showName = function(){
        loginService.showName().success(function(response){
       //username是从后台map集合返回的key值,保存到loginName中 $scope.loginName
= response.username; }); } });

loginService.js

app.service("loginService",function($http){
    this.showName = function(){
        return $http.get("../login/showName.do");
    }
});

html页面中先引入js

<!-- 引入angular的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/controller/indexController.js"></script>
<script type="text/javascript" src="../js/service/loginService.js"></script>

在body上添加

ng-app="pinyougou" ng-controller="indexController" ng-init="showName()"
指定初始化方法showName()
在页面中通过{{loginName}}取值

用户注销

在用户注销的超链接上,添加 href="../logout"

在spring-security.xml中添加注销

<!-- 注销的配置,注销成功跳转login.html页面 -->
<logout logout-url="/logout" logout-success-url="/login.html" />

猜你喜欢

转载自www.cnblogs.com/wangju/p/11858176.html