java后台获取登录信息

中软的框架com.icss.resourceone.sdk.framework.Context 这个Context类
String userName = Context.getInstance().getCurrentUserid();
这是获取 当前登录用户的 用户名的方法
有没有知道 它是怎么实现的?
怎么配置?才能拿到当前用户名

3个回答

通过cookie或者session实现用户相关信息的保存,保存当然同时也可以选择内存数据库等。望采纳。

每一个用户在访问web接口的时候都会维护一个会话,当然会话是有时间限制。当然服务器一般都是无状态的,也就是说一个请求进来,服务器本身是没有上下文的,他不了解这个请求到底是谁发进来的。这种状态维护交给了客户端去做。
一般来说,当用户登录之后,服务器端会创建一个sessionId,对于单机系统这个可以放心的交给框架去做,框架会生成一个sessionId,并把这个参数返回给客户端。每一次发送请求都会把sessionId带上,这时候服务器端就能根据sessionId找到当时登陆的用户上下文。
比如上下文里存放userId、会话开始时间、用户操作记录等等。

关于session必须知道的几个问题:
1、如果使用servlet,框架会自动带上sessionId。用户的上下文放在内存中,但是对于带有负载均衡的服务器小集群,就比较麻烦了。所以一般都会使用redis、memcache作为缓存
2、对于SOA架构来讲,session使用方式也有它自己的特点。对于SOA的facade会使用session,中间RPC只能使用参数的方式沿着链路向下传递,此时不能用session。原因是这种方式比较干净。
3、session和cookie的区别和相同点
4、session还可以被用于设备登录管理,比如一些限制设备登录限制,一般都可以将session扩展。

理论上登录的信息这个框架应该都是存在内存中一张的hash表中,所以你用那个方法可以获取到登录的用户名信息。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问