在我的ASP.NET MVC 4应用程序中,我使用Intranet模板来实现Windows身份验证.我也在使用Fluent Security.
开箱即用,我可以使用下面显示的注释来限制对特定域组或域用户的控制器方法的访问.
[Authorize(Roles=@"Domain\GroupName")]
public ActionResult Index()
{
ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";
return View();
}
[Authorize(Users=@"Domain\UserName")]
public ActionResult About()
{
ViewBag.Message = "Your app description page.";
return View();
}
Run Code Online (Sandbox Code Playgroud)
如何使用Fluent Security将这两种方法限制为同一域组和域用户?如果那更容易,我对用户比对用户更感兴趣.我是否需要构建自定义策略?如果是这样,我不太确定如何检查经过身份验证的用户是否在域组中以返回Fluent Security的正确角色?
我已经完成了FluentSecurity的入门,所以我知道如何实现FluentSecurity的基础知识,我只是不确定如何使用域组作为角色.
谢谢!
我正在玩asp.net mvc的FluentSecurity库.此库公开的其中一个接口ISecurityContext如下所示:
public interface ISecurityContext
{
dynamic Data { get; }
bool CurrenUserAuthenticated();
IEnumerable<object> CurrenUserRoles();
}
Run Code Online (Sandbox Code Playgroud)
当我尝试访问"数据"属性(如下所示)时,它不可用.虽然其他两种方法似乎都可以访问.
public class ExperimentalPolicy : ISecurityPolicy
{
public PolicyResult Enforce(ISecurityContext context)
{
dynamic data = context.Data; // Data property is not accessible.
}
}
Run Code Online (Sandbox Code Playgroud)
我错过了什么?谢谢.
我有一个使用FluentSecurity的ASP.NET MVC网站.作为一个Azure网站,它的工作正常.我需要把它变成一个WebRole.我添加了一个WebRole项目,但WebRole在启动时失败,通用"由于发生内部服务器错误,无法显示该页面".
我有一个DenyAnonymousAccessPolicyViolationHandler和RequireRolePolicyViolationHandler实施IPolicyViolationHandler,并根据整个FluentSecurity设置http://blog.mariusschulz.com/setting-up-fluentsecurity-to-use-ninject-for-dependency-resolution.
我发现当我删除两个实现的类时,IPolicyViolationHandler然后WebRole启动就好了.我创建了一个演示此问题的示例项目,您可以在https://dl.dropboxusercontent.com/u/73642/MvcApplication1.zip找到它.
那么如何才能让FluentSecurity与Azure WebRole一起使用,包括我的策略类?
嗨,我正在使用FluentSecurity来验证和验证我的MVC应用程序中的用户权限.在用户想要访问被拒绝的基本设置中,Action它会抛出异常.我想知道如何重定向到另一个页面(例如登录页面)而不是显示黄色异常页面?