public static IApplicationPrincipal Convert(this PrincipalSession session) { Contract.Assert(session != null); var identity = new ApplicationIdentity(session.UserId, session.Login, session.Name, session.Email); var principal = new ApplicationPrincipal(identity, session.Role, session.Permissions); return principal; }
public void Start() { this.UnitOfWork = new UnitOfWork(); if (this.IsTransactional) { this.Transaction = new Transaction(); } IApplicationPrincipal principal; var session = this.req.GetSession(); if (session != null && session.IsAuthenticated) { var identity = new ApplicationIdentity( long.Parse(session.UserAuthId), session.UserName, session.DisplayName, session.Email); principal = new ApplicationPrincipal( identity, session.Roles.ToArray(), session.Permissions.ToArray()); } else { principal = ApplicationPrincipal.Anonymous; } System.Threading.Thread.CurrentPrincipal = principal; }