我正在尝试在我刚刚使用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>
}
希望有人可以提供帮助。提前谢谢。
答案 0 :(得分:0)
这很奇怪,不应该发生。尝试将您的代码与WebMatrix中的示例进行匹配。还要将webconfig文件与示例的webconfig匹配。某处某事肯定是错的。