1
我正在學習在asp.net webform應用程序中實現安全性。我正在使用簡單的formauthentication,有一個頁面(不是登錄),可能允許通過檢查來自url的令牌進行匿名訪問,並查看它是否存在於數據庫表中。 網上調查後,我目前的解決辦法是:是否可以在Global.asax中添加對業務對象層的引用
的web.config:
一般形式的認證
<authentication mode="Forms" >
允許匿名用戶訪問特定頁面
<location path="MyPage.aspx"> <system.web> <authorization> <allow users="*" /> </authorization> </system.web> </location>
的Global.asax:在業務對象層
調用方法來檢查令牌數據庫有效
protected void Application_PostAuthenticateRequest(object sender, EventArgs e) { bool auth = User.Identity.IsAuthenticated; if (!auth) { string token = Request.QueryString["token"]; var authenticateResult = AuthenticateBO.AuthenticateProductRequest(token); } }
我看到一些帖子在網上那並不是」建議在應用程序級調用數據庫連接。我想知道我的情況(需要檢查數據庫中的令牌),我可以在Global.asax中添加業務層引用嗎?還是有更好的解決方案?謝謝!
絕對不行,從BLL引用你的UI - 它的UI - > BLL - > DAL。 BLL也沒有任何好處訪問Global.asax.cs方法 –
如果您正在調用業務層方法,並且該方法在內部訪問數據庫,那應該不成問題。 –