CAS企業解決方案
關于CAS的原理就不在這里介紹了,用戶發往系統的請求都會重定向到CAS服務器,由CAS來做一個認證,CAS支持多種數據獲取方式基于JDBC/LDAP/WS等等。 JDBC就是直接在數據庫中驗證用戶名的密碼方式。
一般需要做SSO認證時,可以把權限/認證服務作為一個單獨的工程部署,也可以單獨提供一個獨立的接口出來,這就是說身份的認證和權限的認證都是在我們用編碼的方式來驗證,這種方式比CAS直接通過JDBC來訪問數據庫驗證的方式更加靈活,可控性更強。
下面講解一下上圖中的CAS 從 應用權限服務 獲取驗證的配置方式:
擴展抽象類:org.jasig.cas.authentication.handler.support. AbstractUsernamePasswordAuthenticationHandler重載如下方法:
1 |
protected abstract boolean authenticateUsernamePasswordInternal( |
</tr>
</tbody>
</table>
2 |
final UsernamePasswordCredentials credentials) |
</tr>
</tbody>
</table>
</div>
3 |
throws AuthenticationException; |
</tr>
</tbody>
</table>
</div>