2016-02-08 38 views
0

我正在爲ASP.Net Core MVC應用程序編寫一個類庫。在WebUI包中,您可以直接調用User.Identity以獲取當前用戶的Name屬性,但是當我嘗試在我的類庫中訪問User.IdentityUser被識別,但沒有名爲Identity的屬性。由於幾乎沒有文檔,我在確定要添加到類庫中的包時遇到問題,因此我可以查詢User.Identity以獲取登錄用戶的名稱。有誰知道我需要做哪些廣告?哪個包讓我查詢ASP.Net核心類Libary中的User.Identity?

回答

2

用戶實際上是控制器的一個屬性,這就是爲什麼你不能在你的類庫中看到相同的方式。這不是真的會回答你的問題,但是我認爲你不應該將你的類庫綁定到MVC,這個技術應該被隔離到你的web項目中。你可以做什麼它改變你的類庫接受一個I​​Principal參數(或只是一個字符串參數,只需要這個名字,如果這是你所需要的)在方法上需要獲得用戶的身份,然後通過User.Identity來自網站項目。

當然,如果你決定讓你的類庫中的用戶,你可以使用System.Web.HttpContext.Current.User。

+0

感謝這些信息,我不想直接將兩者聯繫在一起。我正在編寫的方法只是取用戶名,查詢數據庫並返回用戶標識。我想我會把它移到BaseController的一個方法上(除非我不應該那樣做) – Matthew