正文必须至少 30 个字符;你进入了。
我建议编写一个自定义属性来处理这个问题:
MyAuthorizationAttribute : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
//Check database here
}
}
然后让所有控制器继承自具有授权属性的基本控制器:
[MyAuthorization]
public class BaseController : Controller
{
}
public class HomeController : BaseController
{
//Do Stuff
}
我将使用 ActiveDirectoryMembershipProvider 提供身份验证,然后修改数据库以与 SimpleRoleProvider 保持一致以提供授权。
我建议考虑使用 LDAP,它的启动和运行非常简单,而且调用也非常简单。