0

我正在尝试在我刚刚使用 WebMatrix 构建的现有网站上设置简单的会员资格。我已按照本教程中的步骤进行操作 - http://www.mikepope.com/blog/DisplayBlog.aspx?permalink=2240

我遇到的问题是,登录后,如果我调用 WebSecurity.IsAuthenticated,它似乎从未真正登录过。登录上的代码一直到重定向,所以人们会假设用户已经过身份验证。这是我的登录代码:

@{
var username = "";
var password = "";
var errorMessage = "";

if(IsPost){
    username = Request["username"];
    password = Request["password"];
    if(WebSecurity.Login(username,password,true)){
        Response.Redirect("~/admin/modules/pages");
    }
    else
    {
        errorMessage = "Login was not successful.";
    }
}
}

当用户被重定向到 /admin/modules/pages 位置时,有一段简单的代码可以在登录时显示用户名,但它从不显示。它只是表明您没有登录。这是代码:

@if(WebSecurity.IsAuthenticated)
{
<h2>Hello @WebSecurity.CurrentUserName, you are logged in | <a href="/admin/logout">Log out</a></h2>
}
else
{
<h2>You are not logged in | <a href="/admin/login">Log in</a></h2>
}   

希望有人可以提供帮助。提前致谢。

4

1 回答 1

0

这很奇怪,不应该发生。尝试将您的代码与 WebMatrix 中的示例进行匹配。还要将您的 webconfig 文件与示例的 webconfig 匹配。一定是哪里出了问题。

于 2013-02-05T11:43:56.770 回答