自定义登录界面和表单信息
自定义用户界面
在上一节中我们讲解了关于Service配置和管理,在Service的配置中, 我们可以配置theme参数。 比如,我们在使用上一节的代码中使用Json来存储Service配置, 在web-10000001.json文件中,我们添加指定主题的参数为fire。 配置如下:
{
"@class" : "org.apereo.cas.services.RegexRegisteredService",
"serviceId" : "^(https|imaps|http)://.*",
"name" : "web",
"id" : 10000001,
"evaluationOrder" : 10,
"accessStrategy" : {
"@class" : "org.apereo.cas.services.DefaultRegisteredServiceAccessStrategy",
"enabled" : true,
"ssoEnabled" : true
},
"theme": "fire"
}
接着我们在src/main目录下新建fire.properties文件, 文件名与主题参数一致。在官网中推荐我们在配置文件中写法为:
cas.standard.css.file=/themes/[theme_name]/css/cas.css
cas.javascript.file=/themes/[theme_name]/js/cas.js
cas.admin.css.file=/themes/[theme_name]/css/admin.css
这里采用的写法会把CAS系统中自带的页面样式完全覆盖, 如果我们只想自定义一部分页面,可以采用自定义部分样式的写法。
anumbrella.javascript.file=/themes/fire/js/cas.js
anumbrella.standard.css.file=/themes/fire/css/cas.css
比如这里我只想自定义登录页面,其他页面不变,可以采用上面的写法。 所以fire.properties文件的内容如下:
fire.javascript.file=/themes/fire/js/cas.js
fire.standard.css.file=/themes/fire/css/cas.css
fire.login.images.path=/themes/fire/images
cas.standard.css.file=/css/cas.css
cas.javascript.file=/js/cas.js
cas.admin.css.file=/css/admin.css
fire.login.images.path=/themes/fire/images 为要在html页面使用到的图片路径,所以这里自定义图片的地址。
接着我们在src\main\resources文件下新建static和templates文件夹, 同时在static文件夹下新建themes/anumbrella文件夹, 在templates目录下新建anumbrella文件夹。 继续在static/themes/anumbrella下新建css、js、images这三个文件夹, 把需要的css、js、图片放入这下面 。接着我们在templates/anumbrella目录下新建casLoginView.html文件。
注意:这里的casLoginView.html文件不能乱命名,必须为casLoginView.html。这里是覆盖登录页面所以命名为casLoginView.html,如果要覆盖退出页面则是casLogoutView.html。