2012-11-01 121 views
2

我需要使用CAS來授權訪問使用Play! 2.x框架。玩! 1.x有一個CAS模塊(http://www.playframework.org/modules/cas);玩! 2.x沒有(我已經能夠找到)。CAS認證與Play框架

有沒有人有他們願意分享的示例代碼?提示/技巧/陷阱?否則,我將深入到1.x模塊,看看我是否可以使它適應2.x.

我正在用Scala開發。

感謝, 拜倫

[更新] 我也問過這個在玩遊戲!谷歌組。詹姆斯羅珀回答說:

那麼,播放2是不同於播放1,所以不要指望它很容易移植。你有兩種一般的方法:

1)簡單但不是很好的方法,使用官方CAS Java客戶端在CAS服務器上進行阻塞調用。確保你的Akka線程池已被調優,默認情況下,它們爲每個內核提供一個線程,如果你使用這種方法,你可能需要100-200個線程,否則其他請求將被嘗試的請求阻塞與CAS服務器交談,特別是如果CAS服務器反應緩慢。

2)困難但更好的方法,使用Play WS API實現您自己的非阻塞CAS客戶端。協議描述如下:http://www.jasig.org/cas/protocol

我目前的想法是把一臺Apache服務器放在Play前面做CAS認證。

回答

2

我創建了您要查找的內容:a支持Scala和Java支持OAuth/CAS/OpenID/HTTP身份驗證和用戶配置文件檢索的2.x客戶端:https://github.com/leleuj/play-pac4j

它完全支持CAS協議:

  • CAS 1.0/2.0/SAML valition +代理驗票
  • 註銷請求
  • CAS proxification
+0

這是否插件支持X.509證書支持? –

+0

這是一個有趣的建議,但沒有。在模塊中添加該支持肯定是有意義的:https://github.com/leleuj/pac4j/tree/master/pac4j-http。也就是說,CAS服務器支持X509證書,play-pac4j支持CAS服務器。 – jleleu