我們使用的是第三方認證機制(CAS,通過.NET CAS Client)。作爲其中的一部分,我們需要提取一些關於登錄用戶的數據。HttpApplication.User(在Global.asax中)和Controller.User(在MVC控制器中)之間的區別
我們通過訪問Global.asax中的HttpApplication.User
實例(在我們的場景中爲DotNetCasClient.Security.CasPrincipal
)實現了此目的。但是,我們需要它從控制器上工作。
問題是,從一個控制器我們可以訪問Controller.User
,它的實例是一個普通的舊的System.Web.Security.RolePrincipal
,這不是我們所需要的。
所以:
- 爲什麼這些情況不一樣呢?
- 是否有可能從控制器中獲取
HttpApplication.User
?
不幸的是,該用戶也是'System.Web.Security.RolePrincipal'。 –