casServer單點登入返回更多使用者資訊正確配置

2021-06-16 16:35:01 字數 2283 閱讀 6096

網上很多關於配置casserver的文章,很詳細,但是想配置出自己合適的版本會出現好多問題。

第一 版本:
我用的是cas-server-core-3.3.3.jar  cas-client-core-3.2.1.jar這個版本

deployerconfigcontext.xml應該這樣設定返回,建構函式的引數應該為3個,網上有的是2個,配置會報錯,應該是版本問題 username是預設輸入框的值

username

然後再新增

最後修改web-inf\view\jsp\protocol\2.0\casservicevalidationsuccess.jsp

0}">

$

最後在客戶端獲取時,

attributeprincipal principal = (attributeprincipal) request

.getuserprincipal();

principal.getattributes().get("email");

一般都是用這個方式去獲取值,但我這邊就是取不到,開啟原始碼,看到有兩個filter 

cas20proxyreceivingticketvalidationfilter

cas10ticketvalidationfilter

我配置的是cas10,改回cas20就可以正確取得引數。應該是cas10沒有獲取其他引數的原因,只是簡單的驗證了ticket的原因

string allowanyproxy = getpropertyfrominitparams(filterconfig, "acceptanyproxy", null);

string allowedproxychains = getpropertyfrominitparams(filterconfig, "allowedproxychains", null);

string casserverurlprefix = getpropertyfrominitparams(filterconfig, "casserverurlprefix", null);

cas20serviceticketvalidator validator;

if ((commonutils.isnotblank(allowanyproxy)) || (commonutils.isnotblank(allowedproxychains))) else

validator.setproxycallbackurl(getpropertyfrominitparams(filterconfig, "proxycallbackurl", null));

validator.setproxygrantingticketstorage(this.proxygrantingticketstorage);

validator.setproxyretriever(new cas20proxyretriever(casserverurlprefix, getpropertyfrominitparams(filterconfig, "encoding", null)));

validator.setrenew(parseboolean(getpropertyfrominitparams(filterconfig, "renew", "false")));

validator.setencoding(getpropertyfrominitparams(filterconfig, "encoding", null));

map additionalparameters = new hashmap();

list params = arrays.aslist(reserved_init_params);

for (enumeration e = filterconfig.getinitparameternames(); e.hasmoreelements(); )

}validator.setcustomparameters(additionalparameters);

validator.sethostnameverifier(gethostnameverifier(filterconfig));

caserver配置使用了很多「預設」變數,像一些bean的配置,如果不看原始碼,還真的有點麻煩。

使用者登入 單點登入

首先是為啥要用單點登入的問題,單點登入也就是sso sso是在多個應用系統中,使用者只需要登入一次就可以訪問所有相互信任的應用系統。1 任何系統都必須去登陸伺服器進行登入 2 伺服器就記住了登入狀態 3 其他系統訪問受保護資源,需要再次登入,跳轉到sso server登入的時候,伺服器告訴客戶端,已...

單點登入簡介

單點登入 跨平台 跨應用的身份驗證解決方案 single sign on 簡稱為 sso 一 什麼是單點登入 single sign on 單點登入 single sign on 簡稱為 sso,是目前比較流行的企業業務整合的解決方案 sso的定義是在多個應用系統中,使用者只需要登入一次就可以訪問所...

單點登入原理

單點登入sso single sign on 說得簡單點就是在乙個多系統共存的環境下,使用者在一處登入後,就不用在其他系統中登入,也就是使用者的一次登入能得到其他所有系統的信任。單點登入在大型 裡使用得非常頻繁,例如像阿里巴巴這樣的 在 的背後是成百上千的子系統,使用者一次操作或交易可能涉及到幾十個...