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