代码拉取完成,页面将自动刷新
同步操作将从 dobbinsoft/dobbinfw-support 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
绝大部分的系统,都需要登录,Java servlet内置的session缓存在jvm中的,对于“无状态”的集群服务来说,就不适用,所以dobbinfw默认使用redis实现来保存用户会话(session)
package com.dobbinsoft.fw.core.util;
public interface ISessionUtil<U extends IdentityOwner, A extends PermissionOwner> {
public void setUser(U userDTO);
public U getUser();
public void setAdmin(A adminDTO);
public A getAdmin();
public Class<U> getUserClass();
public Class<A> getAdminClass();
public boolean hasPerm(String permission) throws ServiceException;
}
类型 | 名 | 解释 |
---|---|---|
接口 | IdentityOwner | 表示拥有ID的一个实例, U extends IdentityOwner, 此处U表示用户的类 |
接口 | PermissionOwner | 表示拥有权限的一个实例, A extends PermissionOwner,此处A表示管理员类 |
方法 | getUserClass | 获取用户类的 class 对象,方便反序列化 |
方法 | hasPerm | 判断当前会话中,管理员是否拥有某个权限点 |
接口中的方法均可在业务系统中使用,通常我们业务系统只用,getUser,getAdmin获取当前登录的用户、管理员
core包中默认提供redis实现,实现类为 com.dobbinsoft.fw.core.util.SessionUtil 若无特殊需求,直接使用即可。
public class VipOrderServiceImpl extends BaseService<UserDTO, AuthAdminDTO> implements VipOrderService {
public Object prepay(Long templateId, String ip, Long userId) throws ServiceException {
...
orderRequest.setOpenid(sessionUtil.getUser().getWxMpOpenId());
...
}
}
@Autowired
private ISessionUtil sessionUtil;
例如,您用的是memcached等常见,需要自己去实现会话保存方式,您可以自我实现ISessionUtil接口。并提高装配优先级即可。
@Component
@Primary
public class MySessionUtil<U extends IdentityOwner, A extends PermissionOwner> implements ISessionUtil<U, A> {
.... impl
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。