2012-09-09 59 views
0

我想重寫PostAuthenticate事件。在簡單的asp.net中,我可以通過在Global.asax文件中覆蓋/實現此方法來完成此操作。我花了一天的時間找出在umbraco(umbraco v 4.7.1(Assembly version:1.0.4281.20201))中實現它的解決方案,但無法找到任何成功。在umbraco中覆蓋PostAuthenticate事件

我寫了一個名爲CustomApplicationGlobal的類,並從umbraco.Global基類繼承它,並將它放在App_Code文件夾中。我還從bin文件夾中刪除了兩個App_Browsers.dllApp_global.asax.dll。但我觀察到我的代碼甚至沒有執行/運行。

請幫我,讓我知道我該怎麼做?是否有其他一些替代 在umbraco中做到這一點?

在這方面的任何幫助將非常值得讚賞。

問候,

/RIZWAN

回答

0

從一把umbraco 4.8.0及以後的App_global.asax.dll不再需要,所以你可能需要考慮升級到新版本。

也就是說,你不想刪除App_Browsers.dll,它有助於Umbraco瞄準不同的瀏覽器功能。

除此之外,我沒有使用PostAuthenticate事件的經驗,但是Umbraco不會妨礙您自定義的global.asax代碼。如果你刪除了App_global.asax.dll,那麼也要確保添加一個從你自己的類繼承的global.asax文件,而不是Umbraco的,否則它不會被使用。 只需將該類放到App_Code文件夾中可能不夠,請確保將其編譯爲dll,這樣您還可以附加調試程序並查看它是否被命中,以及它爲什麼不執行代碼。

你可以(爲4.7.1),試着和您目前爲止所採取的路線前進,但離開DLL和嘗試這個辦法: http://blog.mattbrailsford.com/2010/07/11/registering-an-application-start-event-handler-in-umbraco/

+0

謝謝sebastiaan。有用。 – Rizwan

+0

太棒了,我很想知道哪些建議有效? – sebastiaan

+1

添加從你自己的類繼承的Global.asax文件,而不是Umbraco的,否則它不會被使用。 和 其次,我從App_Code中刪除文件,並使用dll代替。 – Rizwan