在WCF中检索已验证用户的信息

时间:2013-07-12 21:03:52

标签: c# wcf entity-framework authentication

我在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;
        }
    }

1 个答案:

答案 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);