dorado获取用户登陆信息

Skip to end of metadata
Go to start of metadata

       对于Dorado7项目来讲,可能须要在两个地方获取登陆用户信息:一个是Java代码当中,另外一个就是在Dorado7的View当中。咱们先来看看如何在Java代码当中获取登陆用户信息。工具

       以前的内容当中咱们提到过BDF2当中的ContextHolder对象,在这个ContextHolder对象当中,提供了一系列的静态方法,经过这个方法咱们能够取到当前正在使用的数据源名称(若是有设置的话),根据一个Bean的Id取到一个配置在Spring环境当中的Bean,或者取到当前登陆的用户名。ContextHolder对象所包含的静态工具方法以下表所示:url

方法名
描述
public static String getBdfTempFileStorePath() 获取BDF2系统使用的系统临时目录的绝对路径,这里获取到的值由bdf2.systemTempDir属性决定,具体参见对bdf2.systemTempDir属性描述
public static WebApplicationContext getApplicationContext() 获取当前系统的Spring的WebApplicationContext对象。
public static <T> T getBean(String beanId) 根据id找到指定的Spring Bean对象。
public static HttpServletRequest getRequest() 获取当前线程正在使用的HttpServletRequest对象。
public static HttpServletResponse getResponse() 获取当前线程正在使用的HttpServletResponse 对象。
public static HttpSession getHttpSession() 获取当前用户的HttpSession 对象。
public static IUser getLoginUser() 获取当前登陆的用户对象,若是用户未登陆,这里将返回null。
public static String getLoginUserName() 获取当前登陆的用户对象,若是用户未登陆,这里将产生NullPointException异常,因此一般使用getLoginUser方法判断用户是否登陆,而不要直接使用这个方法。

       了解了ContextHolder对象以后,您可能已经明白,在Java代码当中获取登陆用户的方法就是调用ContextHolder.getLoginUser()方法,这个方法返回的是一个IUser的接口对象,这个接口咱们以前有过详细的描述,经过返回的接口对象,咱们能够获取当前登陆用户的各类信息。spa

       某些时候,您可能须要在Dorado的View开发当中调用当前登陆用户的信息,这个时候您能够采用BDF2当中提供的Dorado7 EL表达式来实现。BDF2当中提供了三个Dorado7 EL表达式,分别用户于获取登陆用户对象信息、登陆的用户的用户名以及登陆时产生的错误信息,以下表所示:线程