zoukankan      html  css  js  c++  java
  • spring security在spring mvc的action中获取登录人信息

    @RequestMapping("/index")
    public ModelAndView login(
    @RequestParam(value = "error", required = false) String error,
    @RequestParam(value = "logout", required = false) String logout,
    HttpServletRequest request) {
     
    ModelAndView model = new ModelAndView();
    if (error != null) {
    model.addObject("error", "请输入有效的用户名和密码");
    }
     
    /* if (logout != null) {
    model.addObject("msg", "您已经成功退出");
    }*/
    model.setViewName("index");
     
    SecurityContextImpl securityContextImpl = (SecurityContextImpl) request
    .getSession().getAttribute("SPRING_SECURITY_CONTEXT");
    if(securityContextImpl!=null){
    String username=securityContextImpl.getAuthentication().getName();// 登录名
    request.getSession().setAttribute("username", username);
    // 登录密码,未加密的
    System.out.println("Credentials:"
    + securityContextImpl.getAuthentication().getCredentials());
    WebAuthenticationDetails details = (WebAuthenticationDetails) securityContextImpl
    .getAuthentication().getDetails();
    // 获得访问地址
    //System.out.println("RemoteAddress" + details.getRemoteAddress());
    // 获得sessionid
    //System.out.println("SessionId" + details.getSessionId());
    // 获得当前用户所拥有的权限
    /* List<GrantedAuthority> authorities = (List<GrantedAuthority>) securityContextImpl
    .getAuthentication().getAuthorities();
    for (GrantedAuthority grantedAuthority : authorities) {
    System.out.println("Authority" + grantedAuthority.getAuthority());
    }*/
    }
    return model;
     
    }
  • 相关阅读:
    弹出层模板
    Target runtime Apache Tomcat v7.0 is not defined.解决方法
    Referenced file contains errors
    angular 双向绑定demo
    VB 6.0 ByVal ByRef 的区别
    AutoResetEvent 类的学习网站
    C# 各种定时器区分
    C# 占用系统资源少的延时
    C# API sendmessage()函数获 部分讲解 (挺不错的)
    C# API sendmessage()函数 部分讲解
  • 原文地址:https://www.cnblogs.com/kevin443/p/5104770.html
Copyright © 2011-2022 走看看