最新客户提了一个需求,单点登录不区分英文大小写,这需求真的是又想哭又想笑,但是甲方毕竟是爸爸,说啥都得做。
配置用户名不区分大小写核心思想是在与数据库校验中将提交用户名与数据库中真实用户名同时转换为大写或者小写,例,全部转换为小写的sql为:
select t.* from T_USER t where lower(t.username) = lower('XXX')
对应的在cas中的配置如下
\webapps\cas\WEB-INF\deployerConfigContext.xml文件配置
此处将数据库表中对应的字段转换为小写
配置登录界面,增加一个表单提交方法,将提交的用户名转换为小写
\webapps\cas\WEB-INF\view\jsp\default\ui\casLoginView.jsp
在该jsp页面增加一个表单提交方法
function Login(){
var loginName=document.getElementById("username").value;
loginName=loginName.toLocaleLowerCase();
document.getElementById("username").value=loginName;
return true;
}