加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 以弹簧角度获取当前登录的用户

发布时间:2020-12-15 04:33:15 所属栏目:Java 来源:网络整理
导读:我在 Spring Boot应用程序中使用Spring Security,我想从Principal#getName获取当前登录的用户,但我有模板解析错误,它包含我想要的用户名. 这是我的控制器: import java.security.Principal;import org.springframework.stereotype.Controller;import org.sp
我在 Spring Boot应用程序中使用Spring Security,我想从Principal#getName获取当前登录的用户,但我有模板解析错误,它包含我想要的用户名.

这是我的控制器:

import java.security.Principal;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
public class PageController {

   @RequestMapping(value = "/api/loggeduser",method = RequestMethod.GET)
   public String printWelcome(ModelMap model,Principal principal) {
        String name = null;
        if (principal !=null) {
            name = principal.getName();
        }
        model.addAttribute("username",name);

        return name;
   } 

}

这是我的AngularJs函数来获取登录用户:

app.controller('Usercontr',function($scope,$http) {
    $http.get("/api/loggeduser").success(function (data) {
        $scope.nom = data;  
        console.log($scope.nom) 
    })
});

这是错误:

Error resolving template “kamel.mili”,template might not exist or
might not be accessible by any of the configured Template Resolvers

Kamel.mili是登录用户名.你能帮我么.我正在使用thymeleaf作为登录页面,其他一切都是html AngularJs.我不知道为什么百老汇会把它放在这个控制器上.

解决方法

将@ResponseBody注释添加到控制器:

@ResponseBody
@RequestMapping(value = "/api/loggeduser",method = RequestMethod.GET)
public String printWelcome(ModelMap model,Principal principal ) { ... }

当您使用@Controller构造型注释时,Spring MVC将尝试将您的String返回值解析为View,因此错误:

Error resolving template “kamel.mili”,template might not exist or
might not be accessible by any of the configured Template Resolvers

如果您只想将返回值写入响应主体,您可以将控制器设置为@RestController或使用@ResponseBody注释特定控制器.

这有点偏离主题,但由于您使用的是客户端视图渲染,因此ModelMap非常无用.你可以放心地摆脱它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读