Pet*_*teT 2 asp.net authentication system.web
我有一个在ASP.NET(Windows身份验证)和winforms项目中使用的报告DLL.有时它需要用户名,所以如果它在ASP.NET中运行,它将使用:
System.Web.HttpContext.Current.User.Identity.Name;
Run Code Online (Sandbox Code Playgroud)
并在窗户中
WindowsIdentity.GetCurrent().Name
Run Code Online (Sandbox Code Playgroud)
现在我正在尝试迁移到.NET 4 Client Profile,因此我需要避免报告dll中的System.Web引用.是否有另一种方法可以获取Windows用户名,以便在ASP.NET中运行dll时不使用System.Web.我目前可以看到避免System.Web的唯一方法是将用户名作为参数传递,这在每个报告中都很难调整.
也许你可以使用Thread类的CurrentPrincipal属性:
using System.Threading;
string userName = Thread.CurrentPrincipal.Identity.Name;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
13356 次 |
最近记录: |