用户创建帐户后,他/她需要创建一个个人资料,他/她在其中提交一些将用于信件的信息。我有 2 个这样的控制器需要来自用户个人资料的信息。
我正在尝试创建一个属性,该属性将在让他访问任何操作方法之前检查用户是否已经创建了配置文件。如果没有,用户应该被重定向到个人资料页面。
public class NotAuthorizedWithoutProfileAttribute : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
var userName = httpContext.Profile.UserName;
var repository = new OWRepository();
var userInfo = repository.GetUserInfo(userName);
if (userInfo == null)
return false;
else
return true;
}
}
我遇到的问题是关于用户名,即以下行
var userName = httpContext.Profile.UserName;
为什么它给null?然而,这就是我获取登录用户名的方式。