![](/img/trans.png)
[英]How can I implement custom authentication/authorization in asp.net MVC without Identity?
[英]How can I move the identity/authentication part of my ASP.NET MVC web app into a class library?
我有一個使用ASP.NET Identity 2.1的ASP.NET MVC 5 Web應用程序。 我正在嘗試將所有標識/授權代碼從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項目中。
我很困惑-任何幫助將不勝感激。
從http://haacked.com/archive/2010/05/16/three-hidden-extensibility-gems-in-asp-net-4.aspx/
PreApplicationStartMethodAttribute
此新屬性使您可以在應用程序啟動時在ASP.NET管道中盡早運行代碼。 我的意思是早一點,甚至在Application_Start之前。
PreApplicationStartMethodAttribute是初始化Microsoft.Owin.Host.systemWeb的位置。 因此,您需要在Web應用程序中添加對Microsoft.Owin.Host.systemWeb的引用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.