0

我正在尝试编写自己的角色提供程序,但是,它说名称空间丢失,我做错了什么。我在 c# mvc visual studio 2012 中编码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Security.RoleProvider; //this gave me an error
using MyProject.Models;

namespace MyProject.Controllers
{
    public class MyRoleProvider : RoleProvider
    {
        //
        // GET: /RoleProvider/
        private DefaultConnection db = new DefaultConnection();

        public ActionResult Index()
        {
            return View();
        }
        public override bool IsUserInRole(string username, string roleName)
        {
            // Return status defaults to false
            bool ret = false;

            if (RoleExists(roleName))
            {
                {
                    int c = (from m in db.Users
                             where m.userid == username &&
                             m.role == roleName
                             select m).Count();

                    if (c > 0)
                        ret = true;
                }
            }
            return ret;
        }
        public override bool RoleExists(string roleName)
        {
            bool ret = false;

            // If the specified role doesn't exist
            if (!GetAllRoles().Contains(roleName))
                ret = true;

            return ret;
        }
        public override string[] GetAllRoles()
        {
            string[] roles = null;
            roles = (from roleadmin in db.Users
                     select roleadmin.userid).ToArray();
            return roles;
        }
    }
}
4

1 回答 1

1

只需使用

using System.Web.Security;

而不是将类名添加到 using.

于 2013-08-25T21:15:27.327 回答