如何为我的MVC 4应用程序创建自定义授权属性?

时间:2013-01-29 07:11:07

标签: asp.net-mvc authentication custom-attributes asp.net-roles custom-authentication

可能有很多这个问题的共和党人。但是我忽略了MVC的默认会员资格并使用我的自定义登录cookie。这就是无法像样本中那样创建自定义授权属性的原因。 我有这样的用户模型:

public class MyUserModel
{
 public string Id{ get; set; }
 public string UserName { get; set; }
 public string Password { get; set; }
 public bool RememberMe { get; set; }
 public bool RoleId { get; set; }
}

这是我的LogIn操作:

[HttpPost]
public ActionResult LogIn(MyUserModel model)
{
    if ((Request.Browser.Cookies))
       {
        if ((Request.Cookies["UserInfo"] == null))
         {
          if (model.RememberMe)
           {                           
            Response.Cookies["UserInfo"].Expires = DateTime.Now.AddDays(30);
           }
           else
           {
            Response.Cookies["UserInfo"].Expires = DateTime.Now.AddMinutes(Session.Timeout);
            }
              Response.Cookies["UserInfo"]["UserName"] = model.UserName;
              Response.Cookies["UserInfo"]["Password"] = model.Password;
              Response.Cookies["UserInfo"]["Id"] = model.Id.ToString();
            }                    
            else
            {
              Response.Cookies["UserInfo"]["UserName"] = model.UserName;
              Response.Cookies["UserInfo"]["Password"] = model.Password;
              Response.Cookies["UserInfo"]["Id"] = model.Id.ToString();
            }
         }
 return RedirectToAction("Index", "Home");
}

我需要通过 RoleId 创建自定义授权属性。顺便说一句,我有方法  bool UserInRole(roleId), bool IsUserAuthenticated()准备就绪。

抱歉英语不好。

1 个答案:

答案 0 :(得分:3)

本教程非常棒。您可以在此视频中清楚地了解自定义授权。 http://www.youtube.com/watch?feature=player_embedded&v=BsxUsyMSGeA