public class IdentityChose : AuthorizeAttribute
{
public string Role;
public IdentityChose(string rola)
{
this.Role = rola;//接收传来的身份
}
public override void OnAuthorization(AuthorizationContext filterContext)
{
if (role.rola != Role)//判断用户登录身份是否相等
{
var loginurl = "/login";
filterContext.Result = new RedirectResult(loginurl);
}
}
}
public class Identity
{
public enum role
{
SystemAdmin,
RenzhengAdmin,
ZhanlanAdmin,
BusinessUser
}//定义身份枚举
}
public class role
{
public static String rola
{
get
{
object obj = HttpContext.Current.Session["Rola"];
return obj == null ? string.Empty : obj.ToString();
}
set
{
HttpContext.Current.Session["Rola"] = value;//接收页面传来的身份
}
}
}
登录时传值
role.rola = db.UserInfo.Where(s => s.UserName == name && s.PassWord == password).First().Rola.ToString();