gpt4 book ai didi

asp.net - 如何为整个 ASP.NET Web 项目提供一个 "HelperClass.IsLoggedIn()"方法?

转载 作者:行者123 更新时间:2023-12-02 00:42:36 26 4
gpt4 key购买 nike

这是我在每个页面上的共同需求:

if (session["LoggedIn"] == null || ((bool)session["LoggedIn"] != true))
....//user is not logged in. return.

我想知道,有没有一种方法可以创建一个带有方法签名 bool IsLoggedIn() 的“Helper”类,并从页面调用该方法,以便它可以自动检查页面是否它是从 session["LoggedIn"] 设置为 true 调用的吗?像这样:

class Helper
{
public bool IsLoggedIn()
{
System.Web.UI.Page page = ***FindCallerPageSomeHow***();
if(page.session["LoggedIn"] == null || ((bool)page.session["LoggedIn"] != true))
return false;
return ((bool)page.HpptContext.Session["LoggedIn"] == true);
}
}

当然,我可以尝试为每个代码隐藏类实现一个接口(interface),但那是重复的。此外,我可以为 IsLoggedIn 传入 HttpContext,但这有点困惑..

有什么想法吗?是否有一个易于实现的模式?

最佳答案

如果您想使用这种方法,我可能会在 session 中添加一个扩展方法。但是使用 formsauthentication通常要容易得多。

更新

顺便说一下,这里是扩展方法:

public static bool IsSignedIn(this HttpSessionState session) {
//Use the session to check if the user is signed in
}

然后你可以像这样使用它:

if(Page.Session.IsSignedIn()) {
//Code
}

关于asp.net - 如何为整个 ASP.NET Web 项目提供一个 "HelperClass.IsLoggedIn()"方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2121497/

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