gpt4 book ai didi

c# - 我可以在自定义 MembershipProvider 中向用户 session 添加内容吗?

转载 作者:行者123 更新时间:2023-11-30 16:36:20 25 4
gpt4 key购买 nike

我正在实现自定义 MembershipProvider,以便将登录详细信息传递给我们在公司其他几个地方使用的自定义业务对象。但是一旦我们通过身份验证,我想将这个初始化的业务对象保存在 session 中,以便稍后在其他页面中使用。让我举个例子。

public override bool ValidateUser(string username,string password)
{
try
{
// I want to keep this "object" in the Session to be used later on
CustomBusinessObject object = new CustomBusinessObject(username, password);

return true;
}
catch (CustomBusinessAuthenticationException)
{
return false;
}
}

我有办法做到这一点吗?我没有立即看到通过实现此自定义 MembershipProvider 来访问 Session 对象的方法。

最佳答案

您可以通过调用 System.Web.HttpContext.Current 访问 session 。只需在您的自定义成员资格提供程序上创建一个自定义属性,检查 HttpContext.Current 是否为 null,如果是,则返回 null,否则相应地访问 session 值。

public object CustomObject
{
get
{
if(System.Web.HttpContext.Current == null)
{
return null;
}
return System.Web.HttpContext.Current.Session["CustomObject"];
}
set
{
if(System.Web.HttpContext.Current != null)
{
System.Web.HttpContext.Current.Session["CustomObject"] = value;
}
}
}

关于c# - 我可以在自定义 MembershipProvider 中向用户 session 添加内容吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1004862/

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