MVC - 基于数据库的基于角色的授权

时间:2016-05-23 08:25:02

标签: sql-server asp.net-mvc model-view-controller

我尝试使用基于角色的授权创建mvc应用程序。目前我只想要2个角色,管理员和用户。我已经做了简单的授权工作,但仍然没有角色。我已经在互联网上搜索了这么多参考文献,但仍然无法找到一个与我合作的文章。请帮忙,谢谢。

[HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult Login(LoginViewModel model)
    {
        if (ModelState.IsValid)
        {

            string loginquery = "select UserId,Password,Roles from UserAcc where "
                                    + "userId = @p0 and Password = @p1";
             var a= db.User.SqlQuery(loginquery,model.userid, model.password).Count() ;
            if (a>0)
            {
                FormsAuthentication.SetAuthCookie(model.userid, false);

                Session["userid"] = model.userid.ToString();
                return RedirectToAction("Index", "Employee");

            }

            else { return RedirectToAction("Login"); }

        }

        else

        {
            ModelState.AddModelError("", "EmailId or Password Incorrect.");
        }
            return View(model);
    }

我希望程序根据数据库中的角色字段设置角色授权

SELECT TOP 1000 [UserId]
  ,[Password]
  ,[Roles] FROM [ESS].[dbo].[UserAcc]

我想像这样过滤我的控制器

namespace TEST2.Controllers{[Authorize(Roles = "user")]
public class EmployeeController : Controller
{

三江源,

0 个答案:

没有答案