我在http://www.codeproject.com/Articles/380900/WCF-Authentication-and-Authorization-in-Enterprise
上关注了本教程现在我已经登录了所有内容,没有任何问题,因为它可以正常工作。我甚至使用MD5哈希添加了一些加密技术。但我不确定如何获取用户信息。因此,当他们调用Utility服务时,我如何查询该特定用户的数据库?
[PrincipalPermission(SecurityAction.Demand, Role = "Read")]
public Data.UserProfiles ViewProfile()
{
using (var context = new DatabaseEntities())
{
var user = context.UserProfiles.SingleOrDefault(u => u.UserName == ???)
return user;
}
}
答案 0 :(得分:1)
如果您在Web应用程序中使用WCF,您可以像在CodeProject文章中那样将用户详细信息存储在cookie中,或者您可以按照此处的方式执行WCF身份验证:msdn.microsoft.com/en-us/library/ff405740.aspx < / p>
使用以下代码获取用户: var currentUser = new WindowsPrincipal((WindowsIdentity)System.Threading.Thread.CurrentPrincipal.Identity);