Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Orchardcms Authorize属性v Authorizer.Authorize_Orchardcms - Fatal编程技术网

Orchardcms Authorize属性v Authorizer.Authorize

Orchardcms Authorize属性v Authorizer.Authorize,orchardcms,Orchardcms,在我的Orchard模块中,我正在考虑用对Authorizer.Authorize()的调用替换控制器操作中MVC的AuthorizeAttribute。这样做的好处是,如果用户无权访问某个页面,那么我可以重定向回主页,这样就不会告诉他们这是一个身份验证问题 使用此选项是否存在任何安全问题: public ActionResult Edit( int id ) { if ( !_authorizer.Authorize( Permissions.MyPermission ) )

在我的Orchard模块中,我正在考虑用对Authorizer.Authorize()的调用替换控制器操作中MVC的AuthorizeAttribute。这样做的好处是,如果用户无权访问某个页面,那么我可以重定向回主页,这样就不会告诉他们这是一个身份验证问题

使用此选项是否存在任何安全问题:

public ActionResult Edit( int id ) {
    if ( !_authorizer.Authorize( Permissions.MyPermission ) ) 
        return Redirect("~/");
    // do stuff here and return
}
与此相反:

[Authorize]
public ActionResult Edit( int id ) {
    // do stuff here and return
}

健全性检查非常受欢迎。

根据Hazza的反馈,Authorizer.Authorize()版本允许Orchard权限系统的粒度。当内置的ASP.NET角色系统足够时,[Authorize]属性非常有效


我可能会根据控制器动作的执行情况将两者结合使用。谢谢你的意见

第一个允许您利用Orchard的权限系统,这在vanilla MVC中是不可用的,因此我同意我有性能问题,并自问是否是因为控制器中的授权方法。。。。