(1): 修改配置文件 deployerConfigContext.xml
<bean id="serviceRegistryDao"
class="org.jasig.cas.services.InMemoryServiceRegistryDaoImpl">
<property name="registeredServices">
<list>
<bean class="org.jasig.cas.services.RegexRegisteredService">
<property name="id" value="0" />
<property name="name" value="HTTP and IMAP" />
<property name="description" value="Allows HTTP(S) and IMAP(S) protocols" />
<property name="serviceId" value="^(https?|imaps?)://.*" />
<property name="evaluationOrder" value="10000001" />
<property name="allowedAttributes">
<list>
<value>username</value>
<value>email</value>
<value>Tid</value>
<value>Cid</value>
<value>Cname</value>
<value>Tname</value>
<value>Tmethod</value>
<value>ser</value>
<value>Tpass</value>
<value>flag</value>
<value>isThird</value>
<value>mobileLogin</value>
</list>
</property>
</bean>
</list>
</property>
</bean>
(2): 在 org.jasig.cas.authentication.principal.AbstractPersonDirectoryCredentialsToPrincipalResolver.resolvePrincipal 添加如下代码
/**
* 如果是 UsernameOnlyCredentials 则是从第三方过来的
*/
if (credentials instanceof UsernameOnlyCredentials) {
convertedAttributes.put("isThird", "1");
}
//判断手机端登入
if (credentials instanceof UsernamePasswordCredentials) {
UsernamePasswordCredentials ncredentials=(UsernamePasswordCredentials)credentials;
convertedAttributes.put("mobileLogin", ncredentials.getIsmobile());
}