认证通过后显示当前认证用户名|学习笔记

简介: 快速学习认证通过后显示当前认证用户名

开发者学堂课程【Spring Security知识精讲与实战演示(二)认证通过后显示当前认证用户名】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/731/detail/13046


认证通过后显示当前认证用户名

 

显示当前通过的认证用户名。如下图,可以看到现在虽然认证通过了,但是在当前的这个页面上并不能看出当前认证的用户是谁。

image.png

需要在此页面显示当前认证的用户名,可以在头部的页面中找到显示用户名所在的位置。找到header:

image.png

在此页面会有一个注释掉的部分

image.png

上图的图片就是用户的头像。在图片的后面有一个span,可以将用户名显示在这个地方。在代码span class=”hidden-xs“

下面写上小马。当然现在刷新是没有的,因为这个页面还没有启动。开始启动:

image.png

刷新一下重新登录,输入用户名小马,点击登录。在主页面就可以看到用户名的显示。

image.png

如果想要是主页面出现用户名,在之前的思路中,代码span class=”hidden-xs“之后不能写死”小马”,需要写一个表达式{usernamekey},这个key值就是登录之后返回来的key值。通过后台查询得到用户名,之后返回即可。目前我们已经使用了security框架了,这一步无需手动操作。但是想要自己动手操作也是可以的。下面演示操作:

Securitycontextholder 这里也可以 getcontext 得到当前的context。Authenticcation就是当前认证通过的一个账户用户信息。接下来有一个getname,这个就是当前认证的用户名。可以在后台通过上述代码Securitycontextholder.getcontext().getAuthenticcation().getname()去实现。

也可以将上述代码注释到//从后台获取到当前认证通过后的用户名。可以将这个用户名返回放入到request阈中。写一个modden直接放入即可。

image.png

来到当前页面,key值写成{usernamekey}就可以正常显示。以上是自己用传统的方式做,目前已经使用了spring security,spring security里面是有动态标签的,可以通过动态标签展示当前用户通过的用户名。

想要使用动态标签,首先需要导入动态标签:

image.png

上图的第二句就是spring security标签,当然要想使用该标签,需要先拥有这个标签库,如下图taglibs:

image.png

必须有taglibs这个架包,如果没有这个架包,约束头是不能出来的<% %>。现在已经引入了标签库。接下来就可以得到用户名了。

image.png

在上图中注释的两段都可以得到用户名。

现在先来试一试第一段,启动;

image.png

直接点name就相当于authentication直接getname了。在后台中会发现也是得到authentication接下来getname

image.png

上图也是authentication然后拿到name值。内部属性。

一个是后台写法,一个是动态标签的写法,两种写法是一样的。

再次重新登录“小马”,点击登录,主页面右上方就会出现小马。因为名称就是英文,所以出现也是“xiaoma”。

将下图上面的注掉,将下面的放开。

image.png

上面的是怎么来的呢?

还是得到authentication,但是可以Securitycontextholder.getcontext().getAuthenticcation().getprincipal().就相当于principal。这时候需要强转成自己的用户对象。比如强转成Sysuser。强转之后要将整串代码整个括起来.这个是可以强转的,用user接收一下

Sysuser user

=(Securitycontextholder.getcontext().getAuthenticcation().

getprincipal();

现在需要对其进行强转,接下来在后面.getprincipal();现在get不出来,因为现在这样get就意味着是先get再强转;而先强转再get,需要将(Sysuser)Securitycontextholder.getcontext().getAuthenticcation().

getprincipal()整一段括起来之后.getusername。这样的话就需要将前面的Sysuser user=改为string sername=。如下图:

image.png

注意上下两句是一模一样的,没有区别的。对应这两句页面的写法就是的动态标签。这样就相当于将两个动态标签的底层原理解释完毕。

后台原理可以不理解,直接用页面上的写是可以的。需要记住代码了。

有了后台的写法的话,标签记不住可以用后台原理辅助记忆。注意单词需要拼写正确。

接下来再一次测试,输入用户名小马,继续点击登录。发现也是可以的。

以上就是认证通过之后显示用户名的操作。有两种方式:动态标签怎么写以及后台代码怎么写。

相关文章
|
8月前
|
安全 API 数据安全/隐私保护
smtp用户名,验证身份的名称是什么?
SMTP用户名是验证身份的标识,用于证明有权使用SMTP服务器发送邮件。它通常与邮箱地址关联,如`example@example.com`。配合smtp密码,二者组成身份验证的钥匙。安全使用这些信息至关重要,避免在不安全环境中输入,以保障邮件发送的安全和顺利。AokSend提供安全的发信服务,支持smtp/api接口,确保高触达发信。
|
5月前
|
存储 NoSQL 数据库
认证服务---整合短信验证码,用户注册和登录 ,密码采用MD5加密存储 【二】
这篇文章讲述了在分布式微服务系统中添加用户注册和登录功能的过程,重点介绍了用户注册时通过远程服务调用第三方服务获取短信验证码、使用Redis进行验证码校验、对密码进行MD5加密后存储到数据库,以及用户登录时的远程服务调用和密码匹配校验的实现细节。
认证服务---整合短信验证码,用户注册和登录 ,密码采用MD5加密存储 【二】
|
5月前
|
资源调度 关系型数据库 API
一、next-auth 身份验证凭据-使用电子邮件和密码注册登录
本文是关于如何在Next.js应用中使用next-auth库实现基于电子邮件和密码的注册和登录功能的详细教程,包括环境配置、项目初始化、前后端页面开发、数据库交互以及用户状态管理等方面的步骤和代码示例。
一、next-auth 身份验证凭据-使用电子邮件和密码注册登录
|
缓存 前端开发 NoSQL
认证服务:验证码保存和注册
认证服务:验证码保存和注册
|
XML 存储 安全
|
XML JSON 安全
【视频】甩开密码,SSO !|学习笔记(二)
快速学习【视频】甩开密码,SSO !
【视频】甩开密码,SSO !|学习笔记(二)
|
机器学习/深度学习 人工智能 Linux
|
数据安全/隐私保护
用户名和密码校验程序
name = input('请输入用户名:') password = input('请输入密码:') if 6
1070 0