это довольно сложно для правильной системы входа в систему.
- создать класс, который наследует System.Security.Principal.IPrincipal
- другой класс, который наследует System.Security.Principal.IIdentity
- Назначьте IPrincipal производное для System.Web.HttpConext.Current.User
- , если вы не хотите использовать куки, поместите ваш IPrincipal в Session.
- , если HttpContext.Current.User isпотерян, а затем переназначить с помощью get из сеанса (в самом первом событии, например, page_init).для своего кода я использую FormsAuthenticationTicket в качестве cookie и переназначаю в Global.asax событие PostAuthenticateRequest
хорошая вещь использования HttpContext.Current.User - вы можете пометить атрибут метода.
[Authorize] // authorized user only
public void btn_click(...){...}
я не уверен в нормальном asp.net, но он очень хорошо работает в asp MVC
, если вы хотите использовать куки, попробуйте System.Web.Securitiy.FormsAuthenticationTicket и FormsAuthentication
образец
public class WebUser:System.Security.Principal.IPrincipal
{
...
public System.Security.Principal.IIdentity Identity{get; private set;}
public WebUser(...)
{
this.Identity = new WebIdentity(...);
HttpContext.Current.User = this;
}
}
public class WebIdentity : System.Security.Principal.IIdentity
{
...
}
public void Login(...)
{
var newUser = new WebUser(...);
}