2
4

2 回答 2

5

在 IIS 中实现服务器级别的安全性,并在运行 IIS 服务器的 Windows 的 Active Directory 中添加帐户/密码。

您无需更改任何代码。

于 2009-07-23T13:54:30.073 回答
1

好吧,我知道您不想修改当前的控制器,但这是我为类似行为所做的。
我已经创建了一个自定义的 ActionFilterAttribute,我已经将它提供给需要进行特定访问检查的每个控制器。你可以有这样的东西:

public class CheckBetaAccess : ActionFilterAttribute {
   public override void OnActionExecuting(ActionExecutingContext filterContext) {
        if (!canAccess) {
            filterContext.Controller.ViewData["someViewData"] = "some text";
            filterContext.Result = new ViewResult {
                ViewName = "the-view-anonymous-users-should-see",
                ViewData = filterContext.Controller.ViewData
            };
            filterContext.Result.ExecuteResult(filterContext);
        }
    }
}

然后我装饰了我的控制器:

[CheckBetaAccess]
public class SomeController : Controller {
    //....
}
于 2009-07-23T15:16:46.543 回答