문제

나는 일부 모델과 함께 기본 감사를 구현하려고 노력하고 있습니다 (생성, 업데이트, 작성 및 업데이트).

날짜/시간 부분이 완료되었습니다. 속성이 변경 될 때 내 모델에 이벤트를 던지고 있습니다 (구현 INotifyPropertyChanging, INotifyPropertyChanged) 그리고 특파원 필드를 잘 업데이트 할 수 있습니다.

모델의 인스턴스를 인스턴스화하거나 기존 인스턴스를 얻을 때마다 컨트롤러를 통과하지 않고도 현재 사용자 이름을 얻는 방법을 알아야합니다.

도움이 되었습니까?

해결책

참조 시스템 .web 및 사용 httpcontext.current.user.identity.name은 매력처럼 작동했습니다.

나는 그것에 대해 몰랐다. 감사. 나는 이것처럼한다 :

Membership.GetUser().UserName

어떤 방법이 더 빠르나요?

다른 팁

정체성에 대해 이야기하는 추상적 인 방법은 "교장"입니다. 이 스레드. 이 코드가 로그인 구현에 대해 알지 않고도 신원을 얻을 수 있기를 바랍니다.

public static class SomeUtilityClass {
    public static string GetUsername() {
        IPrincipal principal = Thread.CurrentPrincipal;
        IIdentity identity = principal == null ? null : principal.Identity;
        return identity == null ? null : identity.Name;
    }
}
...

record.UpdatedBy = record.CreatedBy = SomeUtilityClass.GetUsername();

참조 System.Web 그리고 사용 HttpContext.Current.User.Identity.Name 매력처럼 일했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top