如何实现asp.net表单身份验证的替代登录?

时间:2010-12-21 17:15:06

标签: asp.net forms-authentication asp.net-authentication

我有一个使用Sql提供程序的表单身份验证的现有网站。现在我正在尝试与其他网站集成并使用其身份验证机制。我已经能够验证用户并尝试以静默方式将用户登录到我的应用程序中。以下是“无声”登录的代码:

if (user != null) // logged in!
{
    IPrincipal principal = new MyPrincipal(user);
    FormsAuthentication.SetAuthCookie(user.ScreenName, true);

    HttpContext.Current.User = principal;

    Response.Redirect("~/Default.aspx");
}

并且它的作用是表单身份验证在我将其设置为“default.aspx”时覆盖HttpContext.Current.User。有没有办法绕过表单角色和成员资格提供者?

1 个答案:

答案 0 :(得分:2)

如果您使用的是自定义主体,则必须在每次向Web服务器发出请求时建立自定义主体;它没有坚持下去。添加代码以在global.asax中重新加载它将解决它。其他人也创建了一个HTTP模块来执行此操作。

HTH。