cas4.0实现多种方式邮箱/手机号码登录及认证

先说多种方式登录的问题,这里使用手机号码和用户名

百度了半天网上能找到的办法都试了,似乎都不好使,要不就是需要修改源码

经过反复查看cas4.0源码,发现可以配置多个身份认证器,而且可以配置多个身份认证器的策略,这里用org.jasig.cas.authentication.AnyAuthenticationPolicy,即任何一个认证器通过就算通过。
这就好办多了,一切问题都好解决,废话不多说,直接上代码

下面是deployerConfigContext.xml

增加一个身份认证器


    
        
            
            
            
            
        
    

    
        
    



    



    



    
    
    
        
            
            
            
        
    
    
        OR
    
    
        
            
            
            
        
    


    
    
    
        
            
            
            
        
    
    
        OR
    
    
        
            
            
            
        
    







到这里就搞定了手机号码/用户名登录的问题,然而,又出现了个问题,这里查询了两次数据库登录时间有所延长,报了个错如下:

Cannot create a session after the response has been committed

继续百度,有人遇到过,是因为坑爹的cas在登录后两秒把session给end了,导致session获取不到,解决办法是在cas-servlet.xml 配置timeToDieInSeconds这个值
把时间设置长一些就好了



你可能感兴趣的:(JAVA)