Browsing articles from "四月, 2008"
四月
30
2008

Apache 整合 Acitve Directory 達成 one single signon

我的公司使用AD進行使用者驗證,因此在使用者操作的便利性考量前提下.如何讓使用者不需要重覆輸入帳號與密碼,而直接抓取使用者已經登入AD的帳號資訊,已經變成系統開發必須要考量的項目之一 (至少我自己是這樣認為啦 @@)

.NET整合AD的資訊已經有大大實做成功並且實際運用於目前的系統上.由於都是微軟家族的產品,因此整合上比較容易.
但是目前公司存在有Apache+PHP+MySQL on Windows的架構,因此如何讓這樣的架構也可以快速的抓取使用者AD資訊是我今天要介紹的項目.

[版本需求]
1. Apache 2.x 以上
2. PHP和MySQL都沒有特殊的版本要求,不過我還是建議安裝PHP 5.x和MySQL 4.1.x以上的版本

[安裝過程]
1. 將mod_auth_sspi.so (下載位址)放到path_to_apache/modules這個目錄下面
2. 在httpd.conf裡面加上下面兩段
  (1) LoadModule sspi_auth_module modules/mod_auth_sspi.so
  (2)在需要進行驗證的目錄設定加上下面的內容,並且將AllowOverride開啟
      AuthName "A Protected Place"
      AuthType SSPI
      SSPIDomain tpe.compalcomm.com
      SSPIAuth On
      SSPIAuthoritative On
      SSPIOfferBasic On
      require valid-user
         
    修改後應該會像這樣
    <Directory "D:/Develop/htdocs">
     Options Indexes FollowSymLinks
     AllowOverride All

     Order allow,deny
     Allow from all

     AuthName "A Protected Place"
     AuthType SSPI
     SSPIDomain tpe.compalcomm.com
     SSPIAuth On
     SSPIAuthoritative On
     SSPIOfferBasic On
     require valid-user
    </Directory>
3. 重新啟動Apache

[如何抓取使用者登入AD的帳號]
程式只有一行,真的只有一行.
$_SERVER["REMOTE_USER"] 就只需要這行就可以抓到使用者登入AD的帳號.
後面要怎麼達成one single signon,我相信各位程式高手都知道該怎麼做了,我就不獻醜了.

[如何抓取使用者在AD中的其他資訊]
我之前有找到一個adLDAP.php的class,只需要確定ldap_binding正常,
然後將剛剛抓到的使用者AD帳號傳進去,AD裡面所有的資訊全部都可以抓出來.
adLDAP http://adldap.sourceforge.net/

四月
22
2008

[轉] 曹操、關羽、孔明一起搭乘同一部飛機

話說,曹操、關羽、孔明
一起搭乘同一部飛機
(機上只有他們三個+駕駛員)
突然,飛機失事
大家必須跳海
但機上只有3個降落傘
正當大家不知如何是好之際
孔明說話了
孔:”既然這樣,不如我來出題目考你們,答對的拿降落傘,錯的就…;全對我跳,怎麼樣啊?”
其他人:”嗯嗯嗯(同意)”
孔先問駕:”天上有幾顆太陽?”
駕:”1顆”
孔:”對了!”
駕駛員拿著降落傘跳下去了
孔問關:”天上有幾顆月亮?”
關:”1顆”
孔:”也對了!”
關羽也拿著降落傘跳了
這時曹想:”這麼簡單的問題啊!孔明你一定得…”
孔問曹:”那天上有幾顆星星?”
曹:”這……”

======================================

沒想到曹操命大不死
某一天,一樣的情形又發生了
機上也一樣只有3個降落傘
孔說:”不如採用老方法,怎麼樣?”
其它:”嗯嗯嗯”
孔問駕:”秦始皇哪一朝代的?”
駕:”秦朝”
孔:”對了!”
駕駛員拿著降落傘跳下去
孔問關:”秦始皇最著名的一件事?”
關:”焚書”
孔:”也對了!”
關羽也拿降落傘跳下去
曹想:”歷史問題我最會了,這次絕對要讓你跳!”
孔問曹:”秦始皇燒了幾本書?”
曹:”這….”

=============================================

沒想到曹操還是不死
一天,同樣的事又發生了
正當孔明還沒說話時
曹操想”每次都被孔明這樣羞辱,不如自己跳下去比較乾脆”
曹操直接跳了下去
孔明見到想阻止
但來不及
於是朝機外大喊
“曹操!這次機上有4個降落傘!”

四月
18
2008

市民大道上的航空版DVD

如果你跟我一樣住在台北,
而且常常會經過或者是去光華商場附近.
應該知道在市民大道上面有一家賣航空版DVD的店.
至於什麼是航空版DVD,
這個請大家觀察自己周遭生活就可以知道.
我就不多做解釋了.

這家店的前身是一家賣半月燒的店,
曾經有幾次下班經過,看到店門口有一堆人,
不過感覺不像是真的客人,
我老是有一種是店老闆自己找人來衝人氣的感覺.
至於好不好吃,由於我從來沒有去買過,
也沒有想要買的想法.所以這個就沒有辦法回答大家了.

突然在某一天,這家店從原本的賣半月燒變成賣航空版DVD的店.
我每次下班經過的時候都會有一種疑問.
真的會有人可以不顧慮他人的眼光,
很勇敢的走進去這家店嗎?

過往的車輛這麼的多,如果時間沒有抓準,
在紅燈的時候往這家店走進去,
一定會吸引很多人的注視吧.
不知道有沒有人有勇氣敢在這樣的時間走進去.

而我好奇的另外一點是,
這個地方的店租應該也不便宜吧.
老闆到底還可以撐多久呢?
另外我自己亂猜測,
賣航空版DVD的老闆說不定就是之前賣半月燒的老闆,
因為今天下班時,特別仔細看了一下.
半月燒的招牌依然屹立在店門口的上方,
和門上貼的海報形成強烈的對比.

其實我覺得應該半月燒和航空版DVD可以一起賣,
這樣想要買航空版DVD的人可以假裝是去買半月燒,
買半月燒的人在等待的時候,可以順便參考一下航空版DVD.

四月
17
2008

接到Google的電話

前幾天我回到家的時候,
接到一通來自於Google的電話.接到電話的時候,
我心想…怪了,我沒有丟履歷去Google啊,
(真實情況是 : 雖然我很想去,可是能力不夠啊…)
後來在努力聽了之後才知道,原來是Google Adsense的人員.

這時候心裡面又是七上八下了,
擔心是不是我的Google Adsense要被停權.
就在對方努力說中文,我努力聽的交流中,
終於知道,對方居然挖出我在去年寫的這篇收到Google Adsense的PIN囉
然後告訴我希望可以將這篇文章放在Google Adsense的論壇上.
按照著作權,在放上論壇前打電話必須徵詢我的同意.
這時候真的是超級興奮的,
因為從來沒有想過我寫的文章,居然會被Google採用.
當然在第一時間,就說沒問題沒問題,歡迎轉載.

在掛掉電話之後,立刻打電話給凱大人跟他說這件事情.
我想那時候凱大人應該認為我是瘋子吧. XD
剛剛偷偷跑去Google Adsense論壇的時候,
發現我的文章,和另外三位朋友的文章一起收錄在
我和 AdSense PIN 碼的故事 – 部落格文章轉載 選項

好吧…我承認,寫這篇文章的時候有點小小的驕傲了一下 XD

四月
17
2008

加速IE7的啟動速度

我習慣性都將瀏覽器的首頁設定為空白頁面,
主要的原因就是因為我不想要等待開啟網頁的時間.
在工作的時候,並不需要開啟yahoo之類的頁面來當首頁.
回到家的時候也沒有固定一定要上哪幾個網站.
所以設定為空白頁對我來說是最方便的方法.

以往在IE5,IE6的時代,
設定空白頁都可以很快速的開啟IE.
不過自從我安裝IE7之後,
發現設定為空白頁依然給我龜速開啟.
而且每次第一個頁籤(tab)在開啟的時候都會出現連線中三個字.
讓我只想罵,喵的咧,空白頁你還連個什麼鬼啦.

昨天我在努力解決另外一個網路問題的時候,
發現詭異的IE7居然有一個奇怪的設定,
在好奇心驅使下,我就勾選了這個設定.
神奇的事情發生了,
勾選這個設定之後,IE7開啟的速度變快,
開啟IE7的時候也不會出現詭異的連線中三個字.

這個神奇的設定我一定要分享一下.
至於是什麼意思就不要問我了.
因為拆開來我都知道,組合起來我就看不懂了.
這或許就是微軟厲害的地方,
居然讓使用中文的人不知道他寫的中文是什麼意思.

路徑 : 工具 > 網際網路選項 > 一般 > 點選索引標籤設定按鈕 > 勾選 Internet Explorer啟動時只開啟第一個首頁

補充 : 我的作業系統是 Vista Home Premium,我同時有將笨笨的釣魚檢查關閉
下面是我IE7的設定,大家可以參考一下.