BSTEK Development Framework2(BDF2) : 3.BDF2-CORE

      之所以将该模块称之为CORE,这是因为在这个模块当中包含框架中最常用的一些功能,比如权限。在BDF2当中,我们没再把权限单独作为一个模块来处理,这也是和BDF1最大的不同之处,这是因为权限是一个框架的核心功能,很多功能的展开都需要权限作为底层支撑,所以,在BDF2当中,我们将权限放在CORE模块当中,作为其最重要的功能之一。

      除了权限之外,在CORE模块当中,还涵盖了用户登录、主框架页面、站内消息等一系列琐碎且重要的功能点。在之前我们提到,BDF2中所有模块皆以Dorado7 Addon模式开发,和BDF1类似,BDF2各个模块都提供了可供外部覆盖的属性,以改变框架的某些默认功能(比如默认登录页面、默认主框架页面等)。因为BDF2是标准的Dorado7 Addon架构,所以如果需要覆盖这些属性,我们只需要在WEB-INF/dorado-home/configure.propertie文件中为这些属性定义新的值即可,这点与标准Dorado7属性覆盖方式相同。

      在CORE模块当中,我们提供了下面这些属性,通过重定义这些属性值就可以改变CORE模块某些功能的默认动作:

属性名数据类型默认值描述

bdf2.application.title

String

BSTEK APPLICATION FRAMEWORK

主框架页面的标题
bdf2.disableChangePasswordShortcutRegisterbooleanfalse是否禁用主框架右上角修改用户密码的快捷图标,默认false,表示不禁用,如果为true,那主框架右上角修改用户密码的快捷图标就看不到了。
bdf2.logoutSuccessURLString/bdf2.core.view.response.LogoutSuccess.d用户成功退出系统之后显示的提示页面。
bdf2.diableEmailMessageSenderbooleanfalse是否禁用系统提供的Email方式消息发送器。
bdf2.loginSuccessAlwaysUseDefaultTargetUrlbooleanfalse登录成功之后是否总是显示默认的登录成功页面,默认值为false,表示在用户未登录情况下,访问某个需要登录才能访问的页面,会自动跳转到登录页面,一旦登录成功,就会自动跳转到用户在未登录前要访问的页面;如果设置为true,那么就在登录成功后就显示默认的登录成功页面。
bdf2.userRegisterMainWizardPathString/bdf2.core.view.register.RegisterWizard.d如之前所描述的,在用户第一次使用系统时需要注册一个系统管理员账号,这里就是设置这个注册页面的URL的。
bdf2.rememberMeLoginFailUrlString/bdf2.core.view.response.RememberLoginFail.d通过remember me方式登录失败后显示的页面。
bdf2.disableSeeMessageShortcutRegisterbooleanfalse是否禁用主框架右上角查看系统内消息的快捷图标,默认false,表示不禁用,如果为true,那主框架右上角查看系统内消息的快捷图标就看不到了。
bdf2.casLoginUrString/cas.login.d当采用CAS进行SSO登录时,设置CAS Server的登录页面的URL地址,很明显,默认值是乱写的。
bdf2.useCaptchaForLoginbooleantrue登录时是否显示验证码,这个在默认的登录页面当中可以看到,如果设置为false,那么登录时就用不输入验证码。
bdf2.mainFrame.welcomePathString登录成功之后,跳转到主界面后中间工作区显示的欢迎页,如果为空,那么就不显示欢迎页。
bdf2.mainFrame.welcomeIconString登录成功之后,跳转到主界面后中间工作区显示的欢迎页页签的图标。
bdf2.mainFrame.welcomeTitleString登录成功之后,跳转到主界面后中间工作区显示的欢迎页页签的文字。
bdf2.disabledGenerateSystemMenuControllerStringfalse是否禁用系统菜单初始化功能,这个在之前有提到,我们通过这个功能实现项目第一次创建时导航菜单的自动生成,如果值为true,那么就不能使用了。
bdf2.loginProcessUrlString/security_check_登录页中包含用户名、密码信息的表单的提交地址。
bdf2.rememberMeLoginCookieKeyStringbdf.app.remember.me.key通过Remember Me方式登录后,用于加密用户信息的key。
bdf2.loginSuccessDefaultTargetUrlString/bdf2.core.view.frame.main.MainFrame1.d登录成功之后默认显示的主界面。
bdf2.coreDataSourceNameStringCORE模块使用的数据源名称,因为BDF2支持多数据源,同时还支持为每个模块指定一个固定数据源,所以每个模块都会有类似这样一个属性,如果为空,则表示采用默认数据源。
bdf2.logoutURLString/security_logout_登录成功之后,退出系统的URL,同样这个URL也是虚拟的。
bdf2.fixedCompanyIdString当前BDF2应用与某个固定的公司ID绑定,这样无论谁登录这个系统看到的都是与这个固定的公司ID关联的信息。
bdf2.disableSendMessageShortcutRegisterbooleanfalse是否禁用主框架右上角发送系统内消息的快捷图标,默认false,表示不禁用,如果为true,那主框架右上角发送系统内消息的快捷图标就看不到了。
bdf2.diableInternalMessageSenderbooleanfalse是否禁用框架提供的系统内消息发送器。
bdf2.disableLogoutShortcutRegisterbooleanfalse是否禁用主框架右上角退出系统的快捷图标,默认false,表示不禁用,如果为true,那主框架右上角退出系统的快捷图标就看不到了。
bdf2.mainFrameTopView.registerWidthint90登录成功之后主界面框架上部放置单个快捷图标的位置宽度。
bdf2.disableFetchMessageCountShortcutRegisterbooleanfalse是否禁用登录成功之后主界面框架右下角显示系统内未读消息数通知的快捷提示功能。
bdf2.fetchInternalMessageCountIntervalint300000在启用框架右下角显示系统内未读消息数通知的快捷提示功能的情况下,设置每隔多久到服务端取一次未读消息,默认为300000毫秒,也就是5分钟。
bdf2.mainFrameTopViewStringbdf2.core.view.frame.main.FrameTop登录成功之后主界面框架上部放置Banner及快捷图标的位置的页面,也就是说这上部实际上有一个页面动态拼装而成,如果需要,您可以把它换成您自己的页面。
bdf2.mainFrameBannerStringdorado/res/icons/bdf-logo.png登录成功之后主界面框架上部放置Banner图片的地址。
bdf2.basicRealmNameStringbstek如果采用basic方式登录的话real name值。
bdf2.useForwardFormLoginbooleanfalse登录时是否采用forward方式跳转到到登录页面。默认为false,表示采用redirect方式。
bdf2.accessDeniedPageString/bdf2.core.view.response.AccessDenied.d当用户访问一个他无权限访问的页面时显示的提示页面。
bdf2.disabledSystemRegisterStringfalse是否禁用系统第一次使用时用到的那个系统管理员注册页面。
bdf2.loginFailureToTargetUrlUseForwardbooleanfalse登录失败后跳转到失败显示页面采用的跳转方式,false表示采用redirect方式,否则采用forward方式。
bdf2.mainFrameMenuExpandedbooleantrue登录成功之后主界面左边导航菜单是否全部展开。
bdf2.loginFailureTargetUrlString/bdf2.core.view.frame.Login.d登录失败后显示的页面,这里采用的是登录页面,也就是登录失败还是跳转到登录页面。
bdf2.inheritParentDeptPermissionbooleanfalse用户进行权限验证时是否继承其所在部门的父部门权限,默认不继承。
bdf2.securityMaximumSessionsint1一个用户名最大登录会话限制,默认为1,表示同一时刻只能有一个会话,否则后登录的会将前面登录的会话踢除。如果为-1,表示无限制。
bdf2.enableComponentPermissionWithoutURLbooleanfalse是否允许在进行组件权限判断时不考虑其所在页面,默认为false,表示组件要与页面关联才行。
bdf2.useConservativeAuthorityStrategybooleanfalse是否采用保守权限策略,默认为false,表示不采用保守权限策略,所有页面如果没有分配权限,大家皆可访问;如果为true,那么所有页面必须经过授权才能访问。此时包括系统的主框架页面也不能访问,如果你希望所有用户都可以访问,你可以在datasources.xml中配置bdf:anonymous-url 开放相关页面,详细使用参考:3.1.替换登录页面
bdf2.generateCaptchaUrlString/generate.captcha登录时采用的验证码的URL。
bdf2.formLoginUrlString/bdf2.core.view.frame.Login.d登录页面的URL。
bdf2.sessionExpiredUrlString/bdf2.core.view.response.SessionExpired.d用户登录会话过期显示的提示页面。
bdf2.forceHttpsFormLoginbooleanfalse是否强制采用HTTPS方式登录。
bdf2.dataSourceContextLocationStringhome:datasources.xml默认用于配置系统数据源的Spring配置文件的地址,默认就是我们在WEB-INF/dorado-home目录下看到的datasources.xml文件。
bdf2.disableShowLoginInfoShortcutRegisterbooleanfalse登录成功之后主界面框架左下角看到的登录人信息是否禁用,默认不禁用。
bdf2.disabledOnlineUserShortcutRegisterbooleanfalse登录成功之后主界面框架左下角看到的当前系统在线人数显示是否禁用,默认不禁用。
bdf2.authenticationTypeStringform登录认证方式,默认支持三种方式,分别是form(本地的一个登录页面)、basic(浏览器内置的登录窗口)及cas(CAS SSO登录)
bdf2.controllerSuffixString.actionBDF2提供的实现com.bstek.bdf2.core.controller.IController接口机制就可以定义一个Controller请求时其URL的后缀,默认为.action,比如内置查看系统属性XML列表的properties.list.action等。
bdf2.useRememberMeForLoginbooleantrue登录时是否显示记住登录信息的复选框。
bdf2.globalMethodIntercetporBeanNamesPatternStringdefaultBeanNameForNotMatch定义我们要拦截的业务方法的bean的id名称,多个bean id可以用逗号分隔,比如"*Maintain,*Dao",那么就表示将拦截所有bean的id以Maintain结尾的或以Dao结尾的bean的方法调用