Webmatrix WebSecurity未进行身份验证

时间:2012-09-18 16:24:36

标签: asp.net razor webmatrix

我正在尝试在我刚刚使用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>
}   

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

1 个答案:

答案 0 :(得分:0)

这很奇怪,不应该发生。尝试将您的代码与WebMatrix中的示例进行匹配。还要将webconfig文件与示例的webconfig匹配。某处某事肯定是错的。