gpt4 book ai didi

c# - 在 ASP.NET 中放置身份验证检查的位置

转载 作者:行者123 更新时间:2023-11-30 15:04:33 25 4
gpt4 key购买 nike

我有一些代码用于确定用户是否登录,我想将它放在 ASP.NET 网站的每个页面上,以便只有登录用户才能查看它。问题是站点被分成多个项目/解决方案,因此维护单个代码可能很困难。

我想我可以创建一个继承 System.Web.UI.Page 并覆盖 Page_Init 的类,但这需要更改所有页面,以便它们继承自新的新类(class)。此外,我认为这不会跨项目工作。

然后我想到从不同的方面来解决这个问题:使用 AOP。我以前从未使用过 Aspects,但看起来我可以使用 PostSharp 编写一个在每个 Page_Init(或者 Page_Load?)之前注入(inject)代码的 Aspect。这可能是一个快速的解决方案,但如果我需要一个页面不执行身份验证检查(所有人都可以使用),我可能会遇到问题。

澄清一下,我已经有了一个登录解决方案;我只是想检查每个页面上的登录信息。

最佳答案

查看 HttpModules。 asp.net 框架已经编程,因此模块在每个页面请求上运行,您只需编写它并将其添加到 web.config。

http://msdn.microsoft.com/en-us/library/zec9k340(v=vs.71).aspx

编辑:这是一个更好的链接,演示了如何处理 BeginRequest 事件 http://msdn.microsoft.com/en-us/library/ms227673(v=vs.85).aspx

关于c# - 在 ASP.NET 中放置身份验证检查的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10076644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com