ASP.NET MVC 3控制器扩展方法

时间:2012-09-26 02:14:19

标签: asp.net-mvc asp.net-mvc-3 asp.net-membership extension-methods

我是mvc 3的新手,我正在使用它与asp.net会员提供商....所以我想创建一个扩展方法让我从我的网站上的任何控制器获取登录的用户GUID

类似的东西:

    public static Guid GetLoggedUser(this Controller controller)
    {
        return (Guid)Membership.GetUser(controller.User.Identity.Name).ProviderUserKey.ToString();
    }

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

为什么不在ControllerBase类上使用“User”属性?

public class MyController : Controller
{
    public ActionResult GetUser() 
    {
         var userName = User.Identity.Name;
    }
}

您可以使用自定义IPrincipal / IIdentity包含有关您用户的其他信息。 Here如果使用Forms Auth。

,它是如何完成的