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