Asp.net mvc ASP.NETMVC存储CustomIdentity的最佳实践
我正在使用ASP.NET MVC 3和实体框架4。当用户登录时,我想存储数据库中的一些信息,如ID、名称等。因此,我创建了自己的CustomIdentity/CustomPrincipal,但我不想每次都强制转换,因此我创建了一个BaseController,用于转换身份:Asp.net mvc ASP.NETMVC存储CustomIdentity的最佳实践,asp.net-mvc,Asp.net Mvc,我正在使用ASP.NET MVC 3和实体框架4。当用户登录时,我想存储数据库中的一些信息,如ID、名称等。因此,我创建了自己的CustomIdentity/CustomPrincipal,但我不想每次都强制转换,因此我创建了一个BaseController,用于转换身份: public class BaseController : Controller { public CustomIdentity CustomIdentity { get { return (CustomIdenti
public class BaseController : Controller
{
public CustomIdentity CustomIdentity { get { return (CustomIdentity)User.Identity; } }
}
我的所有其他控制器都从BaseController中进行了交互。但我认为这不是一个好的做法。有更好的方法吗?我会使用扩展方法来避免额外的继承
public static CustomerIdentity Customizes(this IIdentity identity)
{
return (CustomIdentity) identity;
}
这一点更容易发现,而且对于是否应该使用User.Identity或CustomerIdentity也没有混淆。当你需要身份的时候
var identity = User.Identity;
当你需要额外的财产时
var identity = User.Identity.Custmoized();