首先
interface IUserHandler
{
UserData GetCurrentUser()
void UpdateCurrentUser (UserData user)
}
[serialize]
class UserData
{
bool IsAnonymous; // it could be false by default or return string.IsNullOrEmpty(UserName);
string UserName;
string UserPwd
}
class CookieUserHandler : IUserHandler
{
UserData GetUser()
{
HttpCookie myCookie = Request.Cookies["your_cookie_name"];
// you need to deserialize the object from here back to UserData
}
}
如果你是用 MVC, 就再写一个 action attribute
我很久没有实际操作过这些东西,但大概的思路就是这样。你可以用 form authentication,但是登录之后就写到自己的 serialized object 里,不要依赖 MS 的东西。
interface IUserHandler
{
UserData GetCurrentUser()
void UpdateCurrentUser (UserData user)
}
[serialize]
class UserData
{
bool IsAnonymous; // it could be false by default or return string.IsNullOrEmpty(UserName);
string UserName;
string UserPwd
}
class CookieUserHandler : IUserHandler
{
UserData GetUser()
{
HttpCookie myCookie = Request.Cookies["your_cookie_name"];
// you need to deserialize the object from here back to UserData
}
}
如果你是用 MVC, 就再写一个 action attribute
我很久没有实际操作过这些东西,但大概的思路就是这样。你可以用 form authentication,但是登录之后就写到自己的 serialized object 里,不要依赖 MS 的东西。