我有一個ASP.NET MVC 5的Web應用程序,使用ASP.NET身份2.1。我試圖將Web項目中的所有標識/授權代碼移動到類庫中。如何將ASP.NET MVC Web應用程序的身份/身份驗證部分移動到類庫中?
我將所有樣板文件UserManager
,SigninManager
刪除,並從Web項目中移除了所有用於ASP.NET Identity和OWIN的NuGet包(將這些包添加到類庫中)。
我也將代碼從Startup.cs
和Startup.Auth.cs
文件移到我的類庫中。這些包含OWIN配置的東西。
我現在該如何確保在應用程序啓動時調用此代碼?在最初的項目中,Startup
類(在Startup.cs
)有這樣一行:
[assembly: OwinStartupAttribute(typeof(WebApplication1.Startup))]
我已經把類似的線(用正確的類名)在相應文件在我的類庫,但似乎沒有效果。這條線是否必須進入網絡應用程序? (在這種情況下,大概我需要將OWIN NuGet包重新添加到Web項目中 - 這是我希望避免的)。
我也嘗試添加該到我的web.config文件:
<add key="owin:appStartup" value="MyClassLibrary.MyNamespace.Startup, My.DLL.Name" />
但同樣,我不知道究竟如何,將不具有Web項目中工作的東西觸發它 - 這再次回來將OWIN添加到Web項目中。
我很困惑 - 任何幫助將不勝感激。
@vcs:添加該軟件包意味着我的斷點被擊中,謝謝。當然,這意味着許多OWIN庫需要被添加回到我的web項目中,但是這樣做。如果您將您的評論複製到答案中,我會接受它。謝謝。 –