Laravel 6 - 策略和中间件

Laravel 6 - Policy and Middleware

我有一个关于这两个功能的快速问题。

中间件 - 功能是重定向访客、管理员或普通用户等可访问性。

政策 - 登录/访问用户可以在页面中做什么。

我相信中间件可以用来隐藏链接、按钮等,从而防止用户继续使用系统中的其他功能,从而使策略变得无关紧要。

我的问题是,如果某个功能受到策略 (@can) 的保护/隐藏,用户是否仍然可以通过键入 URL 地址来访问该功能?政策更简单,但我不知道哪个在处理用户方面更有效率。

用户仍然可以访问 URL 如果他们输入您将需要使用您提到的方法之一(中间件、策略或控制器中的检查)来保护路由

你选择哪一个取决于个人选择,我会考虑你是否希望它在多个 routes/controllers.

中重复使用以及如何重复使用