首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WebSecurity.Login不工作

WebSecurity.Login不工作
EN

Stack Overflow用户
提问于 2013-09-10 06:39:45
回答 2查看 1.6K关注 0票数 1

我的自定义成员提供程序有问题,它扩展了ExtendedMembershipProvider。

在运行成功执行我实现的Validate方法的WebSecurity.Login之后,没有设置User.Identity.IsAuthenticated。

但是检查一下WebSecurity.IsAuthenticated,这是真的。此外,CurrentUserName设置为我的用户名。但是CurrentUserId说“抛出了一个异常”。

如果我检查了异常,并且在检查了代码之后,我发现我的提供者的GetUser(string username,bool isUserOnline)方法将用户名参数接收为null...

EN

回答 2

Stack Overflow用户

发布于 2013-09-10 06:55:24

我刚刚发现了我的问题。在我的控制器登录操作中,我返回了一个视图。据我所知,我必须使用RedirectToAction,因为用户是在执行请求后设置的。

这是我所拥有的:

代码语言:javascript
复制
public ActionResult Index(LoginModel model)
{
    if (ModelState.IsValid)
    {
        WebSecurity.Login(model.Email, model.Password, model.RememberMe)
    }

    return View(model);
}

这是我现在所拥有的,并且是有效的:

代码语言:javascript
复制
public ActionResult Index(LoginModel model)
{
    if (ModelState.IsValid && WebSecurity.Login(model.Email, model.Password, model.RememberMe))
    {
        return RedirectToAction("Index", "Home");
    }

    return View(model);
}
票数 0
EN

Stack Overflow用户

发布于 2018-04-28 13:13:30

我也有同样的问题。在我的例子中,会话没有被创建,因为它被设置为不同的域。请更改它或删除web.config文件中的域,如下所示。

代码语言:javascript
复制
 <authentication mode="Forms">
      <forms name="test" loginUrl="/login" protection="All" path="/" domain=".xxxx.xx" />
 </authentication>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18708171

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档