當前位置:首頁 » 編程語言 » phpcas

phpcas

發布時間: 2022-12-21 02:36:35

『壹』 php cas單點登錄,無登陸信息的話,系統自動轉到登陸頁面,請問:如何不讓系統自動轉到登陸頁面

你換一個跳轉地址就好了啊

『貳』 如何配置使用CAS的PHP客戶端

1)下載CAS php客戶端。我下載的是CAS-1.3.3版本
2)文件結構,如圖:

3)在php項目根目錄下面創建cas文件夾。拷貝CAS文件夾,CAS.php,docs文件夾下的examples下面的文件 至php項目cas文件夾中。
4)修改CAS.php文件example_html.php文件
修改phpCAS::client(CAS_VERSION_2_0, $cas_host, $cas_port, $cas_context);為
phpCAS::client(CAS_VERSION_2_0, '127.0.0.1', 8443, 'cas');
以上步驟,可完成php的cas配置。但是根據具體項目,需要稍作修改。

『叄』 如何配置使用CAS的PHP客戶端

整個配置過程我劃分成四步驟:
1、准備CAS的PHP庫和相關庫文件
1)到CAS的網站下載文件phpcas-0.60-rc7.zip
2) 由於其用到了PEAR的DB庫,需要到PEAR網站去下載。
下載文件PEAR-1.7.1.tgz和DB-1.7.13.tgz 也可在google上搜索。
當然不一定是我說的版本,但我給的是我試驗成功的版本。
3) 用於使用到了SSL所以需要下載openssl。當然我是在windows環境下試驗的,下載的是
其的windows版本。
4)安裝openssl。
2、配置PHP環境
1)將phpcas-0.60-rc7.zip解壓,我們選在了PHP環境的include目錄。在其下建立cas將文件解壓進去。
2)同理將PEAR-1.7.1.tgz和DB-1.7.13.tgz解壓,也分別建立pear和db兩個目錄。
3)修改php環境的ini文件,一般是php.ini文件。將我們前兩步驟建立的目錄加入到include_path中。根據安裝環境修改對應的unix或windows項。
4)由於phpcas用到了CURL(用於連接ssl)和DOMXML(用於處理CAS伺服器返回的消息)兩個組件,因此需要保證php解釋環境需要有這兩個擴展。需要做的就是修改ini文件將extentions節下的屏蔽符號去掉,然後就是檢查PHP環境的extentions目錄下是否有對應的.dll或.o文件。一般標准安裝都會有。
3、測試CAS的php客戶端
1)前面做完後,應該比較激動了,很想看看php程序到底能不能訪問CAS呢。
2)在phpcas-0.60-rc7.zip中的docs/examples中有幾個測試程序。當然我們先前解壓的目錄下也有。
3)我們只是看一下通了沒有,因此拷貝example_simple.php文件到apache的htdocs下。具體根據你的web伺服器配置。總之目的就是能通過瀏覽器訪問example_simple.php。在用之前需要修改
example_simple.php文件,主要是要修改裡面關於CAS伺服器配置信息,修改代碼中的phpCAS::client(...)這一句。整個方法意義如下:
phpCAS::client(CAS_VERSION_2_0,'服務地址',埠號,'cas的訪問地址');
將自己的服務地址和埠號和cas的相對服務地址的url填如就可以了,例如:phpCAS::client(CAS_VERSION_2_0,'localhost',8443,'cas');表示可以通過localhost:8443/cas訪問到CAS服務。
4)在瀏覽器里試驗一下吧,沒有意外的話會看到CAS的登錄界面。這就表示配通了。
4、根據項目需要修改對應的PHP代碼,加入對CAS的調用,將用戶登錄交給CAS我們只需處理對應的用戶,在PHP程序中的許可權問題了。對於舊有就有的PHP代碼只需要用訪問CAS服務換掉驗證用戶身份部分就可以了。
調用CAS關鍵性代碼:
include_once('CAS.php');
//可以不用,用於調試,可以通過服務端的cas.log看到驗證過程。
phpCAS::setDebug();
// 初始化phpcas
p hpCAS::client(CAS_VERSION_2_0,'服務地址',埠號,'cas的訪問地址');
例如:phpCAS::client(CAS_VERSION_2_0,'localhost',8443,'cas');
// 不使用SSL服務校驗
phpCAS::setNoCasServerValidation();
// 訪問CAS的驗證
phpCAS::forceAuthentication();
這時候就驗證完畢了
獲得用戶名可以通過phpCAS::getUser()
//登出
if (isset($_REQUEST['logout'])) {
phpCAS::logout();
}
當然CAS除了它默認的登錄界面和校驗邏輯,還是允許自行定義的。
如何自定義登錄界面,後續在談。
轉載僅供參考,版權屬於原作者。祝你愉快,滿意請採納哦

『肆』 phpcas登錄遇到的問題

使用apereo/phpcas包完成單點登錄,某一次項目中,本地測試沒有問題發布線上之後cas登錄頁出現Error Internal script failure。

看到Error Internal script failure這個錯誤,完全不知道問題出在哪裡,各種搜索沒有找到答案,無奈進入源碼。看到一個log方法,好像是用來記日誌的,判斷的filename存在就記錄日誌,繼續找到看到了setDebug,在setDebug中去設置了日誌文件目錄之後就可以記錄日誌了通過日誌看具體問題。

終於在日誌里看出了問題在寫入session時文件沒有寫入許可權導致cas登錄失敗

『伍』 php cas單點登錄如何獲取用戶信息而不跳轉到登錄頁

asjx 獲取cookies 即可

『陸』 php cas客戶端session不同步問題怎麼解決

如果使用phpcase等cas系統提供的客戶端sdk,他幫我們自動做好了session的處理:cas中心驗證用戶憑證後,會把用戶信息傳遞給子系統,子系統的客戶端sdk會把cas中心傳回來的用戶信息保存到session中(默認是保存user),並且在返回瀏覽器時將sessionid寫到cookie中
可以在子系統登錄後,列印出sessionid和內容
var_mp(session_id());
var_mp("<br/>");
var_mp($_SESSION);
比對瀏覽器cookie中的sessionid,可以看到cookie和session中的sessionid是一致的,並且session中有了user這個屬性,就是用戶登錄時填寫的欄位

『柒』 PHPCAS是什麼東西

寶石花 學名:Graptopetalum paraguayense 別名:粉蓮

『捌』 PHP 如何過濾 變數 $value1 里一些特定的字元

function htmldecode($str)
{
if(empty($str)) return;
if($str=="") return $str;
$str=str_replace("&",chr(34),$str);
$str=str_replace(">",">",$str);
$str=str_replace("<","<",$str);
$str=str_replace("&","&",$str);
$str=str_replace(" ",chr(32),$str);
$str=str_replace(" ",chr(9),$str);
$str=str_replace("'",chr(39),$str);
$str=str_replace("
",chr(13),$str);
$str=str_replace("''","'",$str);
$str=str_replace("select","select",$str);
$str=str_replace("join","join",$str);
$str=str_replace("union","union",$str);
$str=str_replace("where","where",$str);
$str=str_replace("insert","insert",$str);
$str=str_replace("delete","delete",$str);
$str=str_replace("update","update",$str);
$str=str_replace("like","like",$str);
$str=str_replace("drop","drop",$str);
$str=str_replace("create","create",$str);
$str=str_replace("modify","modify",$str);
$str=str_replace("rename","rename",$str);
$str=str_replace("alter","alter",$str);
$str=str_replace("cas","cast",$str);
$farr = array(
"/\s+/" , //過濾多餘的空白
"/<(\/?)(img|script|i?frame|style|html|body|title|link|meta|\?|\%)([^>]*?)>/isU" , //過濾 <script 防止引入惡意內容或惡意代碼,如果不需要插入flash等,還可以加入<object的過濾
"/(<[^>]*)on[a-zA-Z]+\s*=([^>]*>)/isU" , //過濾javascript的on事件
);
$tarr = array(
" " ,
"<\\1\\2\\3>" , //如果要直接清除不安全的標簽,這里可以留空
"\\1\\2" ,
);
$str = preg_replace ( $farr , $tarr , $str );
return $str;
} 以上是PHP過濾所有特殊字元的代碼,你如果只需要過濾掉 <img src="/ 跟 " />,你可以把這2段字元串單獨過濾掉,但是一定要注意,別單獨過濾「/」否則把你要的部分的「/」也過濾了!

熱點內容
安卓nba2k18什麼時候出 發布:2025-05-15 04:38:42 瀏覽:392
王者安卓轉蘋果為什麼顯示失敗 發布:2025-05-15 04:35:49 瀏覽:17
手機優酷緩存視頻格式 發布:2025-05-15 04:13:45 瀏覽:209
公益電影分鏡頭腳本插畫 發布:2025-05-15 04:08:37 瀏覽:961
數據壓縮編碼 發布:2025-05-15 03:58:44 瀏覽:725
java字元為空 發布:2025-05-15 03:57:11 瀏覽:547
速訊安卓哪裡下載 發布:2025-05-15 03:55:02 瀏覽:48
緩存區數據讀寫原理 發布:2025-05-15 03:39:57 瀏覽:585
編譯器生成的是二進制文件嗎 發布:2025-05-15 03:38:42 瀏覽:956
運營為什麼區分ios和安卓 發布:2025-05-15 03:30:02 瀏覽:630