春-セキュリティから格納されているユーザ情報の取得

春-Securityは、保存されたユーザ情報を取得します

春-Securityは、保存されたユーザ情報を取得します

3つのモードの春、セキュリティー登録者情報を取得する
モード1:バックグラウンドセッションで取得します。

public String showUsername(HttpServletRequest request){ 
//通过SecurityContextHolder获得当前线程上绑定的SecurityContext对象 
SecurityContext context = SecurityContextHolder.getContext();
 //也可以通过session获得SecurityContext对象 
 SecurityContext context_session = (SecurityContext) request.getSession().getAttribute("SPRING_SECURITY_CONTEXT"); 
 //证明线程绑定的SecurityContext与session域中存储的SecurityContext是同一个 
 System.out.println(context==context_session);
 //2、获得用户名方式二: 在页面中通过el表达式从session域中获得 
 //3、获得用户名方式三: 在页面中通过SpringSecurity的标签直接获得 
 //4、在header.jsp中显示用户名 
 //获得Authentication认证对象 
 Authentication authentication = context_session.getAuthentication(); 
 //获得User对象 
 User user = (User) authentication.getPrincipal(); //获得用户名 
 return user.getUsername();
}

実施例2:EL式によって、フロントエンドで取得しました。

${sessionScope.SPRING_SECURITY_CONTEXT.authentication.principal.username}

【実施例3:セキュリティタグを使用して、フロントエンドに直接アクセス:

<%@ taglib uri="http://www.springframework.org/security/tags" prefix="security"%> <security:authentication property="principal.username"/>
リリース7件のオリジナルの記事 ウォンの賞賛2 ビュー1183

おすすめ

転載: blog.csdn.net/weixin_41040866/article/details/105014097