|
Rank: Administration Groups: Administrators, Registered
Joined: 9/3/2009(UTC) Posts: 1,552 Location: Xiamen China
|
你可以写一个PagePlugin,很简单的实现这个功能,我给一个简单例子吧: Code:
public class ValidateUser : IPagePlugin
{
public TextContent ValidateUser(string userName, string passWord)
{
var textFolder = new TextFolder(Repository.Current, "User_Identity");
var query = textFolder.CreateQuery().WhereEquals("Username", userName).WhereEquals("Password", passWord);
return query.FirstOrDefault();
}
public string Description
{
get { return "Validate User Plugin"; }
}
public System.Web.Mvc.ActionResult Execute(Kooboo.CMS.Sites.View.Page_Context pageContext, Kooboo.CMS.Sites.View.PagePositionContext positionContext)
{
var request = pageContext.ControllerContext.RequestContext.HttpContext.Request;
if (string.Equals(request.HttpMethod, "post", StringComparison.OrdinalIgnoreCase))
{
var entry = new JsonResultEntry();
entry.Success = false;
try
{
var user = ValidateUser(request["username"], request["passwordLog"]);
pageContext.ControllerContext.HttpContext.Session["UserInfo"] = user;
var result = user != null;
entry.Model = result;
if (result)
{
var privateArea = pageContext.FrontUrl.PageUrl("privateArea");
entry.RedirectUrl = privateArea.ToString();
}
entry.SetSuccess();
}
catch (Exception e)
{
entry.AddException(e);
}
JsonResult jsonResult = new JsonResultEx(pageContext.ControllerContext.HttpContext.Request.ContentType);
jsonResult.Data = entry;
return jsonResult;
}
return null;
}
}
Regards, Jifeng Huang
Kooboo Team
Microsoft ASP.NET MVP
|